{"version":3,"file":"grid-layout-plus.mjs","sources":["../node_modules/.pnpm/@vexip-ui+utils@2.16.1/node_modules/@vexip-ui/utils/dist/index.mjs","../src/helpers/common.ts","../src/helpers/draggable.ts","../src/helpers/responsive.ts","../src/helpers/dom.ts","../node_modules/.pnpm/interactjs@1.10.27/node_modules/interactjs/dist/interact.min.js","../src/components/grid-item.vue","../node_modules/.pnpm/@vexip-ui+hooks@2.8.0_vue@3.5.13_typescript@5.8.3_/node_modules/@vexip-ui/hooks/dist/index.mjs","../src/components/grid-layout.vue"],"sourcesContent":["const y = typeof window < \"u\";\nvar At;\nconst mn = y && ((At = window == null ? void 0 : window.navigator) == null ? void 0 : At.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent), ee = Object.prototype.toString, ne = Object.prototype.hasOwnProperty;\nfunction B(t, e) {\n  return ee.call(t) === `[object ${e}]`;\n}\nfunction bn(t, e) {\n  return ne.call(t, e);\n}\nfunction S(t) {\n  return t != null;\n}\nfunction re(t) {\n  return t == null;\n}\nfunction yn(t) {\n  return typeof t == \"number\";\n}\nfunction oe(t) {\n  return Number.isNaN(t);\n}\nfunction Mn(t) {\n  return typeof t == \"string\";\n}\nfunction Sn(t) {\n  return typeof t == \"boolean\";\n}\nfunction wn(t) {\n  return t === !0;\n}\nfunction En(t) {\n  return t === !1;\n}\nfunction Nn(t) {\n  return typeof t == \"symbol\";\n}\nfunction An(t) {\n  return typeof t == \"bigint\";\n}\nfunction Fn(t) {\n  return Array.isArray(t);\n}\nfunction Y(t) {\n  return B(t, \"Object\");\n}\nfunction $n(t) {\n  return !!t && typeof t.then == \"function\" && typeof t.catch == \"function\";\n}\nfunction Ft(t) {\n  return typeof t == \"function\";\n}\nfunction Tn(t) {\n  return B(t, \"Set\");\n}\nfunction Cn(t) {\n  return B(t, \"Map\");\n}\nfunction On(t) {\n  return B(t, \"Date\");\n}\nfunction Rn(t) {\n  return B(t, \"RegExp\");\n}\nfunction _n(t) {\n  return Array.isArray(t) || typeof t == \"string\" ? t.length === 0 : t instanceof Map || t instanceof Set ? t.size === 0 : Y(t) ? Object.keys(t).length === 0 : typeof t == \"number\" ? oe(t) : re(t);\n}\nfunction kn(t, e = !1) {\n  return !e && !y ? !1 : !!(t && \"nodeType\" in t);\n}\nfunction G(t) {\n  return S(t) && typeof t[Symbol.iterator] == \"function\";\n}\nfunction ot() {\n}\nfunction ie() {\n  return !0;\n}\nfunction xn() {\n  return !1;\n}\nfunction Dn(t, e = 1, n = 1) {\n  const r = [];\n  for (let o = 0; o < t; ++o)\n    r.push(e + o * n);\n  return r;\n}\nfunction se(t) {\n  return Object.prototype.toString.call(t).slice(8, -1);\n}\nfunction In(t = 16) {\n  const e = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\", n = e.length;\n  let r = \"\";\n  for (; t--; )\n    r += e.charAt(Math.floor(Math.random() * n));\n  return r;\n}\nasync function Ln(t, e = {}) {\n  if (t.length) {\n    for (const [n, r] of t)\n      if (typeof n == \"function\" ? n() : n)\n        return typeof e.beforeMatchAny == \"function\" && await e.beforeMatchAny(), await r(), typeof e.afterMatchAny == \"function\" && await e.afterMatchAny(), !0;\n  }\n  return !1;\n}\nasync function Hn(t) {\n  if (!y)\n    return !1;\n  try {\n    return await navigator.clipboard.writeText(t), !0;\n  } catch {\n    let e = !1;\n    const n = document.createElement(\"textarea\"), r = document.activeElement;\n    n.value = t, n.setAttribute(\"readonly\", \"\"), n.style.contain = \"strict\", n.style.position = \"absolute\", n.style.height = \"0\", n.style.fontSize = \"12pt\";\n    const o = document.getSelection(), i = o ? o.rangeCount > 0 && o.getRangeAt(0) : null;\n    return document.body.appendChild(n), n.select(), n.selectionStart = 0, n.selectionEnd = t.length, e = document.execCommand(\"copy\"), document.body.removeChild(n), i && (o.removeAllRanges(), o.addRange(i)), r && r.focus(), e;\n  }\n}\nconst ce = \"[-\\\\+]?\\\\d+%?\", ae = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\", F = `(?:${ae})|(?:${ce})`, fe = `[\\\\s|\\\\(]+(${F})[,|\\\\s]+(${F})[,|\\\\s]+(${F})\\\\s*\\\\)?`, U = `[\\\\s|\\\\(]+(${F})[,|\\\\s]+(${F})[,|\\\\s]+(${F})[,|\\\\s]+(${F})\\\\s*\\\\)?`, $t = new RegExp(`rgb${fe}`), Tt = new RegExp(`rgba${U}`), Ct = new RegExp(`hsl${U}`), Ot = new RegExp(`hsla${U}`), Rt = new RegExp(`hsv${U}`), _t = new RegExp(`hsva${U}`), kt = /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, xt = /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, Dt = /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, It = /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, W = Object.freeze({\n  aliceblue: \"f0f8ff\",\n  antiquewhite: \"faebd7\",\n  aqua: \"0ff\",\n  aquamarine: \"7fffd4\",\n  azure: \"f0ffff\",\n  beige: \"f5f5dc\",\n  bisque: \"ffe4c4\",\n  black: \"000\",\n  blanchedalmond: \"ffebcd\",\n  blue: \"00f\",\n  blueviolet: \"8a2be2\",\n  brown: \"a52a2a\",\n  burlywood: \"deb887\",\n  burntsienna: \"ea7e5d\",\n  cadetblue: \"5f9ea0\",\n  chartreuse: \"7fff00\",\n  chocolate: \"d2691e\",\n  coral: \"ff7f50\",\n  cornflowerblue: \"6495ed\",\n  cornsilk: \"fff8dc\",\n  crimson: \"dc143c\",\n  cyan: \"0ff\",\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: \"f0f\",\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  lavender: \"e6e6fa\",\n  lavenderblush: \"fff0f5\",\n  lawngreen: \"7cfc00\",\n  lemonchiffon: \"fffacd\",\n  lightblue: \"add8e6\",\n  lightcoral: \"f08080\",\n  lightcyan: \"e0ffff\",\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: \"789\",\n  lightslategrey: \"789\",\n  lightsteelblue: \"b0c4de\",\n  lightyellow: \"ffffe0\",\n  lime: \"0f0\",\n  limegreen: \"32cd32\",\n  linen: \"faf0e6\",\n  magenta: \"f0f\",\n  maroon: \"800000\",\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  rebeccapurple: \"663399\",\n  red: \"f00\",\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: \"fff\",\n  whitesmoke: \"f5f5f5\",\n  yellow: \"ff0\",\n  yellowgreen: \"9acd32\"\n}), ue = Object.freeze(new Set(Object.keys(W)));\nfunction Pn(t) {\n  return t = String(t).trim().toLowerCase(), t ? t === \"transparent\" || W[t] ? !0 : t === \"transparent\" || ue.has(t) || $t.test(t) || Tt.test(t) || Ct.test(t) || Ot.test(t) || Rt.test(t) || _t.test(t) || kt.test(t) || xt.test(t) || Dt.test(t) || It.test(t) : !1;\n}\nfunction le(t) {\n  if (t = t.toString().trim().toLowerCase(), t === \"transparent\")\n    return { r: 0, g: 0, b: 0, a: 0, format: \"name\", toString: M };\n  let e = !1;\n  W[t] && (t = W[t], e = !0);\n  let n;\n  if (n = $t.exec(t)) {\n    const { r, g: o, b: i } = R(n[1], n[2], n[3]);\n    return {\n      r: r * 255,\n      g: o * 255,\n      b: i * 255,\n      format: \"rgb\",\n      toString: M\n    };\n  }\n  if (n = Tt.exec(t)) {\n    const { r, g: o, b: i } = R(n[1], n[2], n[3]);\n    return {\n      r: r * 255,\n      g: o * 255,\n      b: i * 255,\n      a: O(n[4]),\n      format: \"rgba\",\n      toString: M\n    };\n  }\n  if (n = Ct.exec(t)) {\n    const { h: r, s: o, l: i } = z(n[0], n[1], n[3]);\n    return { h: r * 360, s: o, l: i, format: \"hsl\", toString: H };\n  }\n  if (n = Ot.exec(t)) {\n    const { h: r, s: o, l: i } = z(n[0], n[1], n[3]);\n    return {\n      h: r * 360,\n      s: o,\n      l: i,\n      a: O(n[4]),\n      format: \"hsla\",\n      toString: H\n    };\n  }\n  if (n = Rt.exec(t)) {\n    const { h: r, s: o, v: i } = q(n[0], n[1], n[3]);\n    return { h: r * 360, s: o, v: i, format: \"hsv\", toString: j };\n  }\n  if (n = _t.exec(t)) {\n    const { h: r, s: o, v: i } = q(n[0], n[1], n[3]);\n    return {\n      h: r * 360,\n      s: o,\n      v: i,\n      a: O(n[4]),\n      format: \"hsva\",\n      toString: j\n    };\n  }\n  return (n = kt.exec(t)) ? {\n    r: parseInt(`${n[1]}${n[1]}`, 16),\n    g: parseInt(`${n[2]}${n[2]}`, 16),\n    b: parseInt(`${n[3]}${n[3]}`, 16),\n    format: e ? \"name\" : \"hex3\",\n    toString: M\n  } : (n = xt.exec(t)) ? {\n    r: parseInt(`${n[1]}${n[1]}`, 16),\n    g: parseInt(`${n[2]}${n[2]}`, 16),\n    b: parseInt(`${n[3]}${n[3]}`, 16),\n    a: pt(`${n[4]}${n[4]}`),\n    format: e ? \"name\" : \"hex4\",\n    toString: M\n  } : (n = Dt.exec(t)) ? {\n    r: parseInt(n[1], 16),\n    g: parseInt(n[2], 16),\n    b: parseInt(n[3], 16),\n    format: e ? \"name\" : \"hex6\",\n    toString: M\n  } : (n = It.exec(t)) ? {\n    r: parseInt(n[1], 16),\n    g: parseInt(n[2], 16),\n    b: parseInt(n[3], 16),\n    a: pt(n[4]),\n    format: e ? \"name\" : \"hex8\",\n    toString: M\n  } : null;\n}\nfunction Bn(t) {\n  const { a: e, ...n } = $(t);\n  delete n.format;\n  const r = Ht(n.r, n.g, n.b), o = Pt(n.r, n.g, n.b), i = it(n.r, n.g, n.b), s = st(n.r, n.g, n.b, e);\n  return {\n    rgb: n,\n    hsl: r,\n    hsv: o,\n    hex: i,\n    alpha: e,\n    rgba: { ...n, a: e, format: \"rgba\" },\n    hsla: { ...r, a: e, format: \"hsla\" },\n    hsva: { ...o, a: e, format: \"hsva\" },\n    hex8: s,\n    gray: Ut(n),\n    origin: t\n  };\n}\nfunction $(t) {\n  let e = { r: 0, g: 0, b: 0 }, n = 1, r;\n  return typeof t == \"string\" ? r = le(t) : r = t, r !== null && typeof r == \"object\" && (\"l\" in r ? e = Lt(r.h, r.s, r.l) : \"v\" in r && (e = he(r.h, r.s, r.v)), \"a\" in r && (n = O(r.a ?? 1), Number.isNaN(n) && (n = 1)), e = r), { ...e, a: n, format: \"rgba\", toString: M };\n}\nfunction z(t, e, n) {\n  return {\n    h: w(t, 0, 360) / 360,\n    s: w(I(e) ? L(e) : e, 0, 1),\n    l: w(I(n) ? L(n) : n, 0, 1)\n  };\n}\nfunction R(t, e, n) {\n  return {\n    r: w(t, 0, 255) / 255,\n    g: w(e, 0, 255) / 255,\n    b: w(n, 0, 255) / 255\n  };\n}\nfunction q(t, e, n) {\n  return {\n    h: w(t, 0, 360) / 360,\n    s: w(I(e) ? L(e) : e, 0, 1),\n    v: w(I(n) ? L(n) : n, 0, 1)\n  };\n}\nfunction O(t) {\n  return w(I(t) ? L(t) : t, 0, 1);\n}\nfunction Lt(t, e, n) {\n  let r, o, i;\n  if ({ h: t, s: e, l: n } = z(t, e, n), e === 0)\n    r = o = i = n;\n  else {\n    const s = n < 0.5 ? 1 * (1 + e) : n + e - n * e, c = 2 * n - s;\n    r = tt(c, s, t + 1 / 3), o = tt(c, s, t), i = tt(c, s, t - 1 / 3);\n  }\n  return r *= 255, o *= 255, i *= 255, { r, g: o, b: i, toString: M };\n}\nfunction Ht(t, e, n) {\n  ({ r: t, g: e, b: n } = R(t, e, n));\n  const r = Math.max(t, e, n), o = Math.min(t, e, n);\n  let i, s;\n  const c = (r + o) / 2;\n  if (r === o)\n    i = s = 0;\n  else {\n    const a = r - o;\n    switch (s = c > 0.5 ? a / (2 - r - o) : a / (r + o), r) {\n      case t: {\n        i = (e - n) / a + (e < n ? 6 : 0);\n        break;\n      }\n      case e: {\n        i = (n - t) / a + 2;\n        break;\n      }\n      case n: {\n        i = (t - e) / a + 4;\n        break;\n      }\n      default:\n        i = 0;\n    }\n    i *= 60;\n  }\n  return { h: i, s, l: c, toString: H };\n}\nfunction de(t, e, n) {\n  ({ h: t, s: e, l: n } = z(t, e, n));\n  const r = 0.5 * (2 * n + e * (1 - Math.abs(2 * n - 1)));\n  return e = 2 * (r - n) / r, { h: t * 360, s: e, v: r, toString: j };\n}\nfunction Un(t, e, n) {\n  ({ h: t, s: e, v: n } = q(t, e, n));\n  const r = 0.5 * n * (2 - e);\n  return e = n * e / (1 - Math.abs(2 * r - 1)), { h: t * 360, s: e, l: r, toString: H };\n}\nfunction he(t, e, n) {\n  ({ h: t, s: e, v: n } = q(t, e, n)), t *= 6;\n  const r = Math.floor(t), o = t - r, i = n * (1 - e), s = n * (1 - o * e), c = n * (1 - (1 - o) * e), a = r % 6;\n  let f = [n, s, i, i, c, n][a], u = [c, n, n, s, i, i][a], d = [i, i, c, n, n, s][a];\n  return f *= 255, u *= 255, d *= 255, { r: f, g: u, b: d, toString: M };\n}\nfunction Pt(t, e, n) {\n  ({ r: t, g: e, b: n } = R(t, e, n));\n  const r = Math.max(t, e, n), o = Math.min(t, e, n);\n  let i;\n  const s = r, c = r - o, a = r === 0 ? 0 : c / r;\n  if (r === o)\n    i = 0;\n  else {\n    switch (r) {\n      case t: {\n        i = (e - n) / c + (e < n ? 6 : 0);\n        break;\n      }\n      case e: {\n        i = (n - t) / c + 2;\n        break;\n      }\n      case n: {\n        i = (t - e) / c + 4;\n        break;\n      }\n      default:\n        i = 0;\n    }\n    i *= 60;\n  }\n  return { h: i, s: a, v: s, toString: j };\n}\nfunction it(t, e, n, r = !1) {\n  ({ r: t, g: e, b: n } = R(t, e, n));\n  const o = [\n    T(Math.round(t * 255).toString(16)),\n    T(Math.round(e * 255).toString(16)),\n    T(Math.round(n * 255).toString(16))\n  ];\n  return r && C(o[0]) && C(o[1]) && C(o[2]) ? o[0].charAt(0) + o[1].charAt(0) + o[2].charAt(0) : \"#\" + o.join(\"\");\n}\nfunction st(t, e, n, r, o = !1) {\n  ({ r: t, g: e, b: n } = R(t, e, n));\n  const i = [\n    T(Math.round(t * 255).toString(16)),\n    T(Math.round(e * 255).toString(16)),\n    T(Math.round(n * 255).toString(16)),\n    T(ge(O(r)))\n  ];\n  return o && C(i[0]) && C(i[1]) && C(i[2]) && C(i[3]) ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) + i[3].charAt(0) : \"#\" + i.join(\"\");\n}\nfunction Yn(t, e, n = 0.5) {\n  if (!t && !e)\n    return { r: 0, g: 0, b: 0, a: 1 };\n  if (!t)\n    return $(e);\n  if (!e)\n    return $(t);\n  const r = $(t), o = $(e), i = w(n, 0, 1), s = i * 2 - 1, c = r.a - o.a, f = ((s * c === -1 ? s : (s + c) / (1 + s * c)) + 1) / 2, u = 1 - f;\n  return {\n    r: Math.round(r.r * f + o.r * u),\n    g: Math.round(r.g * f + o.g * u),\n    b: Math.round(r.b * f + o.b * u),\n    a: Math.round(r.a * i + o.a * (1 - i)),\n    format: \"rgba\",\n    toString: M\n  };\n}\nfunction Gn(t, e) {\n  const n = $(t);\n  return n.a = O(e), n;\n}\nfunction Wn(t = !1, e = \"hex\") {\n  const n = Math.round(Math.random() * 255), r = Math.round(Math.random() * 255), o = Math.round(Math.random() * 255);\n  if (e === \"hex\")\n    return t ? st(n, r, o, Math.random()) : it(n, r, o);\n  let i;\n  return e === \"hsl\" ? i = Ht(n, r, o) : e === \"hsv\" ? i = Pt(n, r, o) : i = /* @__PURE__ */ Object.create({ r: n, g: r, b: o, toString: M }), t && (i.a = Math.random()), i.toString();\n}\nfunction Bt(t, e = !1, n = \"hex\") {\n  const r = Math.round(Math.random() * 360), o = Math.round(t === \"hard\" ? 80 + Math.random() * 20 : 20 + Math.random() * 70) / 100, i = Math.round(t === \"hard\" ? 40 + Math.random() * 20 : 80 + Math.random() * 15) / 100;\n  if (n === \"hsl\")\n    return H.bind({ h: r, s: o, l: i })();\n  let s;\n  if (n === \"hex\" || n === \"rgb\") {\n    if (s = Lt(r, o, i), n === \"hex\") {\n      const { r: c, g: a, b: f } = s;\n      return e ? st(c, a, f, Math.random()) : it(c, a, f);\n    }\n  } else\n    n === \"hsv\" && (s = de(r, o, i));\n  return e && (s.a = Math.random()), s.toString();\n}\nfunction zn(t = !1, e = \"hex\") {\n  return Bt(\"hard\", t, e);\n}\nfunction qn(t = !1, e = \"hex\") {\n  return Bt(\"soft\", t, e);\n}\nfunction jn(t) {\n  return Ut($(t));\n}\nfunction T(t) {\n  return t.length === 1 ? `0${t}` : t.toString();\n}\nfunction C(t) {\n  return t.charAt(0) === t.charAt(1);\n}\nfunction ge(t) {\n  return Math.round(parseFloat(t) * 255).toString(16);\n}\nfunction pt(t) {\n  return parseInt(t, 16) / 255;\n}\nfunction w(t, e, n) {\n  return Math.max(e, Math.min(n, parseFloat(t)));\n}\nfunction tt(t, e, n) {\n  return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? t + (e - t) * 6 * n : n < 1 / 2 ? e : n < 2 / 3 ? t + (e - t) * (2 / 3 - n) * 6 : t;\n}\nfunction I(t) {\n  return String(t).trim().includes(\"%\");\n}\nfunction L(t) {\n  const e = parseFloat(t) / 100;\n  return Number.isNaN(e) ? 0 : e;\n}\nfunction M() {\n  return S(this.a) && this.a >= 0 && this.a < 1 ? `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})` : `rgb(${this.r}, ${this.g}, ${this.b})`;\n}\nfunction H() {\n  const t = `${this.s * 100}%`, e = `${this.l * 100}%`;\n  return S(this.a) && this.a >= 0 && this.a < 1 ? `hsla(${this.h}, ${t}, ${e}, ${this.a})` : `hsl(${this.h}, ${t}, ${e})`;\n}\nfunction j() {\n  const t = `${this.s * 100}%`, e = `${this.v * 100}%`;\n  return S(this.a) && this.a >= 0 && this.a < 1 ? `hsva(${this.h}, ${t}, ${e}, ${this.a})` : `hsv(${this.h}, ${t}, ${e})`;\n}\nfunction Ut(t) {\n  return (t.r * 0.2126 + t.g * 0.7152 + t.b * 0.0722) / 255;\n}\nlet Yt = 0;\nfunction Kn() {\n  return Yt++;\n}\nfunction Qn(t) {\n  Yt = Math.round(t);\n}\nfunction Xn(t = 0) {\n  return {\n    getCount: () => t++,\n    setCount: (e) => {\n      t = e;\n    }\n  };\n}\nfunction mt(t) {\n  return t & -t;\n}\nfunction Vn(t, e = 0) {\n  const n = new Array(t + 1).fill(0);\n  function r(c, a) {\n    if (!(!a || c >= t))\n      for (c += 1; c <= t; )\n        n[c] += a, c += mt(c);\n  }\n  function o(c = t) {\n    if (c <= 0)\n      return 0;\n    c > t && (c = t);\n    let a = c * e;\n    for (; c > 0; )\n      a += n[c], c -= mt(c);\n    return a;\n  }\n  function i(c) {\n    return o(c + 1) - o(c);\n  }\n  function s(c) {\n    let a = 0, f = t;\n    for (; f > a; ) {\n      const u = Math.floor((a + f) / 2), d = o(u);\n      if (d > c) {\n        f = u;\n        continue;\n      } else if (d < c) {\n        if (a === u)\n          return o(a + 1) <= c ? a + 1 : a;\n        a = u;\n      } else\n        return u;\n    }\n    return a;\n  }\n  return { tree: n, add: r, sum: o, get: i, boundIndex: s };\n}\nconst pe = /^\\s*[+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?\\s*$/;\nfunction me(t, e = !1) {\n  return typeof t == \"number\" ? !Number.isNaN(t) : e ? pe.test(String(t)) : !Number.isNaN(parseFloat(t)) || !Number.isNaN(Number(t));\n}\nfunction be(t) {\n  let e = parseFloat(t);\n  return Number.isNaN(e) && (e = Number(t)), Number.isNaN(e) ? 0 : e;\n}\nfunction ye(t, e) {\n  return e <= 0 ? t.toString() : `${t < 0 ? \"-\" : \"\"}${String(Math.abs(Math.round(t))).padStart(e, \"0\")}`;\n}\nfunction N(t) {\n  return ye(t, 2);\n}\nfunction E(t) {\n  const e = t.toString().split(/[eE]/), n = (e[0].split(\".\")[1] || \"\").length - +(e[1] || 0);\n  return n > 0 ? n : 0;\n}\nfunction Zn(t) {\n  return E(t);\n}\nfunction vn(t, e = 3, n = \",\") {\n  if (typeof t != \"number\" && (t = parseFloat(t)), Number.isNaN(t))\n    return \"0\";\n  let [r, o] = String(t).split(\".\");\n  const i = new RegExp(`(\\\\d+)(\\\\d{${e}})`);\n  for (; i.test(r); )\n    r = r.replace(i, `$1${n}$2`);\n  return o = o ? `.${o}` : \"\", `${r}${o}`;\n}\nfunction Gt(t, e) {\n  if (e === 0)\n    return Math.round(t);\n  let n = t.toFixed(E(t));\n  const r = n.indexOf(\".\");\n  if (r === -1)\n    return t;\n  const o = n.replace(\".\", \"\").split(\"\"), i = r + e;\n  return o[i] ? (n.charAt(i + 1) === \"5\" ? n = n.substring(0, i + 1) + \"6\" : n = n.substring(0, i + 2), parseFloat(Number(n).toFixed(e))) : t;\n}\nfunction Jn(t, e, n) {\n  return Gt(t * e, n);\n}\nfunction tr(t, e) {\n  if (e < 0 || e > 1)\n    return Math.round(t);\n  const n = Math.ceil(t);\n  return t + 1 - e >= n ? n : Math.floor(t);\n}\nfunction er(t, e, n) {\n  return Math.max(e, Math.min(n, parseFloat(t)));\n}\nfunction nr(t, e, n = 0) {\n  if (t <= 0 || e <= 1)\n    return [t];\n  n < 1 && (n = 1 / 0);\n  const r = [];\n  let o = 0;\n  for (; t >= e && o < n; )\n    r.push(t % e), t = Math.floor(t / e), ++o;\n  return r.push(t), r.reverse();\n}\nfunction rr(t) {\n  if (t < 0)\n    return `${t}th`;\n  const e = [\"th\", \"st\", \"nd\", \"rd\"], n = t % 100;\n  return `${t}${e[n] || e[t % 10] || e[0]}`;\n}\nconst bt = Object.freeze([\n  \"B\",\n  \"KB\",\n  \"MB\",\n  \"GB\",\n  \"TB\",\n  \"AUTO\"\n]);\nfunction or(t, e = \"AUTO\", n = !1, r) {\n  typeof r > \"u\" && (typeof n == \"number\" ? (r = n, n = !1) : r = 2);\n  let o = e.toUpperCase();\n  o = bt.includes(o) ? o : \"AUTO\";\n  let i;\n  switch (o) {\n    case \"AUTO\":\n      i = 0;\n      break;\n    case \"KB\":\n      i = 1;\n      break;\n    case \"MB\":\n      i = 2;\n      break;\n    case \"GB\":\n      i = 3;\n      break;\n    case \"TB\":\n      i = 4;\n      break;\n    default:\n      return t;\n  }\n  let s;\n  if (i)\n    s = t / 1024 ** i;\n  else\n    for (s = t; s > 1024 && !(i > 4); ++i)\n      s = s / 1024;\n  return s = Gt(s, r), n ? `${s}${o === \"AUTO\" ? bt[Math.min(i, 4)] : o}` : s;\n}\nfunction ir(t, e = 0) {\n  return e === t ? e : (e > t && ([e, t] = [t, e]), Math.random() * (t - e) + e);\n}\nfunction Wt(t, e = 15) {\n  return +parseFloat(Number(t).toPrecision(e));\n}\nfunction K(t) {\n  const e = String(t);\n  if (!e.includes(\"e\"))\n    return Number(e.replace(\".\", \"\"));\n  const n = E(t);\n  return n > 0 ? Wt(Number(t) * 10 ** n) : Number(t);\n}\nfunction Q(t) {\n  return (...e) => {\n    let n = e[0];\n    for (let r = 1, o = e.length; r < o; ++r)\n      n = t(n, e[r]);\n    return n;\n  };\n}\nconst P = Q((t, e) => {\n  const n = K(t), r = K(e), o = E(t) + E(e);\n  return n * r / 10 ** o;\n}), sr = Q((t, e) => {\n  const n = 10 ** Math.max(E(t), E(e));\n  return (P(t, n) + P(e, n)) / n;\n}), cr = Q((t, e) => {\n  const n = 10 ** Math.max(E(t), E(e));\n  return (P(t, n) - P(e, n)) / n;\n}), ar = Q((t, e) => {\n  const n = K(t), r = K(e);\n  return P(n / r, Wt(10 ** (E(e) - E(t))));\n}), Me = 1e3, A = 1e3, k = 60, Se = k * A, fr = k * A, X = 60, zt = X * k, we = zt * A, ur = zt * A, qt = 24, Ee = qt * X, jt = Ee * k, Ne = jt * A, lr = jt * A, ct = 7, Ae = ct * qt, Fe = Ae * X, Kt = Fe * k, $e = Kt * A, dr = Kt * A, Qt = 3, Te = 4, Ce = Te * Qt, Oe = {\n  y(t, e) {\n    const n = t.getFullYear();\n    return e.length === 4 ? n : n % 1e3 % 100;\n  },\n  M(t, e) {\n    const n = t.getMonth() + 1;\n    return e.length === 2 ? N(n) : n;\n  },\n  d(t, e) {\n    const n = t.getDate();\n    return e.length === 2 ? N(n) : n;\n  },\n  H(t, e) {\n    const n = t.getHours();\n    return e.length === 2 ? N(n) : n;\n  },\n  m(t, e) {\n    const n = t.getMinutes();\n    return e.length === 2 ? N(n) : n;\n  },\n  s(t, e) {\n    const n = t.getSeconds();\n    return e.length === 2 ? N(n) : n;\n  },\n  q(t, e) {\n    const n = Math.ceil((t.getMonth() + 1) / 3);\n    return e.length === 2 ? N(n) : n;\n  }\n}, Re = /[yMdHmsq](\\w)*|./g, _e = /'(.+?)'/g;\nfunction h(t, e = !1) {\n  const n = new Date(t);\n  if (e && Number.isNaN(+n))\n    throw new RangeError(\"Invalid date value\");\n  return typeof t == \"string\" && !t.includes(\":\") && (n.setHours(0), n.setMinutes(0), n.setSeconds(0)), n;\n}\nfunction hr(t, e = \"yyyy-MM-dd HH:mm:ss\") {\n  t = h(t);\n  const n = e.match(Re), r = n == null ? void 0 : n.length;\n  if (!r)\n    return e;\n  let o = 0, i = \"\";\n  for (; o < r; ) {\n    const s = n[o], c = s[0], a = Oe[c];\n    a ? i += a(t, s) : i += s, ++o;\n  }\n  return i.replace(_e, \"$1\");\n}\nfunction gr(t) {\n  return t = h(t), `${N(t.getHours())}:${N(t.getMinutes())}:${N(\n    t.getSeconds()\n  )}`;\n}\nfunction rt(t) {\n  return t = h(t), Math.floor(t.getMonth() / 3) + 1;\n}\nconst ke = [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"];\nfunction pr(t) {\n  return ke[t.getDay()];\n}\nfunction xe(t, e) {\n  return t = h(t), t.setTime(t.getTime() + e), t;\n}\nfunction De(t, e) {\n  return e *= A, xe(t, e);\n}\nfunction Ie(t, e) {\n  return e *= k, De(t, e);\n}\nfunction Le(t, e) {\n  return e *= X, Ie(t, e);\n}\nfunction mr(t, e) {\n  return e *= 12, Le(t, e);\n}\nfunction at(t, e) {\n  return t = h(t), e = ~~e, t.setDate(t.getDate() + e), t;\n}\nfunction br(t, e) {\n  return e *= ct, at(t, e);\n}\nfunction ft(t, e) {\n  return t = h(t), e = ~~e, t.setMonth(t.getMonth() + e), t;\n}\nfunction yr(t, e) {\n  return e *= Qt, ft(t, e);\n}\nfunction Mr(t, e) {\n  return e *= Ce, ft(t, e);\n}\nfunction Sr(t, e = 42, n = 1) {\n  t = h(t);\n  const r = [];\n  for (let o = 0; o < e; ++o)\n    r.push(at(t, o * n));\n  return r;\n}\nfunction wr(t, e = 12, n = 1) {\n  t = h(t);\n  const r = [];\n  for (let o = 0; o < e; ++o)\n    r.push(ft(t, o * n));\n  return r;\n}\nfunction Er(t) {\n  const e = t.getDay() ?? 7;\n  return at(t, -e);\n}\nfunction yt(t) {\n  return t = h(t), t.setMilliseconds(0), t;\n}\nfunction Mt(t) {\n  return t = h(t), t.setSeconds(0, 0), t;\n}\nfunction St(t) {\n  return t = h(t), t.setMinutes(0, 0, 0), t;\n}\nfunction wt(t) {\n  return t = h(t), t.setHours(0, 0, 0, 0), t;\n}\nfunction Nr(t) {\n  return t = h(t), t.setHours(23, 59, 59, 999), t;\n}\nfunction Et(t, e = 0) {\n  e = e % 7, e < 0 && (e += 7), t = h(t);\n  const n = t.getDay(), r = (n < e ? 7 : 0) + n - e;\n  return t.setDate(t.getDate() - r), t.setHours(0, 0, 0, 0), t;\n}\nfunction He(t) {\n  return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0;\n}\nfunction Pe(t, e) {\n  let n;\n  return e < 7 ? e !== 2 ? n = 30 + e % 2 : He(t) ? n = 29 : n = 28 : n = 31 - e % 2, n;\n}\nfunction Ar(t, e = 1) {\n  t = h(t);\n  const n = t.getFullYear(), r = t.getMonth() + 1, o = t.getDate(), i = Pe(n, r);\n  return e = e % i, e < 0 && (e += i), o < e && t.setMonth(r - 1), t.setDate(e), t.setHours(0, 0, 0, 0), t;\n}\nfunction Fr(t) {\n  t = h(t);\n  const e = rt(t);\n  return t.setDate(1), t.setHours(0, 0, 0, 0), t.setMonth((e - 1) * 3), t;\n}\nfunction $r(t, e = 0) {\n  e = e % 11, e < 0 && (e += 11), t = h(t);\n  const n = t.getMonth(), r = (n < e ? 11 : 0) + n - e;\n  return t.setMonth(t.getMonth() - r), t.setDate(1), t.setHours(0, 0, 0, 0), t;\n}\nfunction ut(t, e) {\n  return t = h(t), e = h(e), e.getTime() - t.getTime();\n}\nfunction Be(t, e) {\n  const n = ut(t, e) / Me;\n  return n > 0 ? Math.floor(n) : Math.ceil(n);\n}\nfunction Ue(t, e) {\n  const n = ut(t, e) / Se;\n  return n > 0 ? Math.floor(n) : Math.ceil(n);\n}\nfunction Ye(t, e) {\n  const n = ut(t, e) / we;\n  return n > 0 ? Math.floor(n) : Math.ceil(n);\n}\nfunction Ge(t, e) {\n  return t = wt(t), e = wt(e), (e.getTime() - t.getTime()) / Ne;\n}\nfunction Tr(t, e, n = 0) {\n  return t = Et(t, n), e = Et(e, n), (e.getTime() - t.getTime()) / $e;\n}\nfunction We(t, e) {\n  t = h(t), e = h(e);\n  const n = e.getFullYear() - t.getFullYear(), r = e.getMonth() - t.getMonth();\n  return n * 12 + r;\n}\nfunction Cr(t, e) {\n  t = h(t), e = h(e);\n  const n = e.getFullYear() - t.getFullYear(), r = rt(e) - rt(t);\n  return n * 4 + r;\n}\nfunction ze(t, e) {\n  return t = h(t), e = h(e), e.getFullYear() - t.getFullYear();\n}\nfunction qe(t, e) {\n  t = h(t), e = h(e);\n  const n = t.getTime() - e.getTime();\n  return n < 0 ? -1 : n > 0 ? 1 : n;\n}\nfunction _(t, e) {\n  return -qe(t, e);\n}\nfunction Or(t, e) {\n  return t = yt(t), e = yt(e), Be(t, e);\n}\nfunction Rr(t, e) {\n  return t = Mt(t), e = Mt(e), Ue(t, e);\n}\nfunction _r(t, e) {\n  return t = St(t), e = St(e), Ye(t, e);\n}\nfunction je(t, e) {\n  const n = _(t, e), r = Math.abs(Ge(t, e));\n  t = h(t), t.setDate(t.getDate() + n * r);\n  const o = _(t, e) === -n;\n  return n * (r - (o ? 1 : 0));\n}\nfunction kr(t, e) {\n  const n = je(t, e) / ct;\n  return n > 0 ? Math.floor(n) : Math.ceil(n);\n}\nfunction Ke(t, e) {\n  const n = _(t, e), r = Math.abs(We(t, e));\n  t = h(t), t.setMonth(t.getMonth() + n * r);\n  const o = _(t, e) === -n;\n  return n * (r - (o ? 1 : 0));\n}\nfunction xr(t, e) {\n  const n = Ke(t, e) / 3;\n  return n > 0 ? Math.floor(n) : Math.ceil(n);\n}\nfunction Dr(t, e) {\n  const n = _(t, e), r = Math.abs(ze(t, e));\n  t = h(t), t.setFullYear(t.getFullYear() + n * r);\n  const o = _(t, e) === -n;\n  return n * (r - (o ? 1 : 0));\n}\nfunction Qe(t, e = {}) {\n  if (t == null || typeof t != \"object\")\n    return t;\n  const { cloneObject: n = ot } = e, r = {}, o = [\n    {\n      parent: r,\n      prop: \"root\",\n      data: t\n    }\n  ], i = /* @__PURE__ */ new WeakMap(), s = [], c = [];\n  for (; o.length; ) {\n    const { parent: a, prop: f, data: u } = o.pop();\n    if (!a)\n      continue;\n    const d = se(u);\n    if (d === \"Date\") {\n      a[f] = new Date(u);\n      continue;\n    }\n    if (d !== \"Array\") {\n      const l = n(d, u);\n      if (l != null) {\n        a[f] = l;\n        continue;\n      }\n    }\n    const g = a[f] = d === \"Array\" || d === \"Set\" || d === \"Map\" ? [] : {};\n    if (d === \"Set\" || d === \"Map\") {\n      let l = 0;\n      if (d === \"Set\") {\n        for (const p of u)\n          i.has(p) ? g[l] = i.get(p) : p !== null && typeof p == \"object\" ? o.push({\n            parent: g,\n            prop: l,\n            data: p\n          }) : g[l] = p, ++l;\n        s.push({ parent: a, prop: f });\n      } else {\n        for (const p of u) {\n          const b = [];\n          l = 0;\n          for (const m of p)\n            i.has(m) ? b[l] = i.get(m) : m !== null && typeof m == \"object\" ? o.push({\n              parent: b,\n              prop: l,\n              data: m\n            }) : b[l] = m, ++l;\n          g.push(b);\n        }\n        c.push({ parent: a, prop: f });\n      }\n    } else\n      for (const l of Object.keys(u)) {\n        const p = u[l];\n        i.has(p) ? g[l] = i.get(p) : p !== null && typeof p == \"object\" ? o.push({\n          parent: g,\n          prop: l,\n          data: p\n        }) : g[l] = p;\n      }\n    i.set(u, g);\n  }\n  for (const { parent: a, prop: f } of s)\n    a[f] = new Set(a[f]);\n  for (const { parent: a, prop: f } of c)\n    a[f] = new Map(a[f]);\n  return r.root;\n}\nconst Xe = \"This object was destroyed, do not use it anywhere\", Ve = () => !0;\nfunction Ir(t, e = Xe) {\n  const n = () => {\n    throw new Error(e);\n  };\n  Object.keys(t).forEach((r) => {\n    typeof t[r] == \"function\" ? t[r] = n.bind(t) : t[r] = null;\n  }), Object.getOwnPropertyNames(t.constructor.prototype).forEach((r) => {\n    r !== \"constructor\" && typeof t[r] == \"function\" && (t[r] = n.bind(t));\n  }), t.isDestroyed = Ve;\n}\nconst Ze = y && (\"ontouchstart\" in window || ve() > 0), Lr = Ze ? \"pointerdown\" : \"click\";\nfunction ve() {\n  return typeof navigator < \"u\" && (navigator.maxTouchPoints || navigator.msMaxTouchPoints) || 0;\n}\nfunction Hr(t, e, n = window.Event) {\n  const { type: r, bubbles: o = !1, cancelable: i = !1, ...s } = e;\n  if (!S(r) || r === \"\")\n    return !1;\n  let c;\n  return S(n) ? c = new n(r, { bubbles: o, cancelable: i }) : (c = document.createEvent(\"HTMLEvents\"), c.initEvent(r, o, i)), Object.assign(c, s), t.dispatchEvent(c);\n}\nconst Je = [\n  \"button\",\n  \"[href]:not(.disabled)\",\n  \"input\",\n  \"select\",\n  \"textarea\",\n  \"[tabindex]\",\n  \"[contenteditable]\"\n].map((t) => `${t}:not(:disabled):not([disabled])`).join(\", \");\nfunction V(t) {\n  return !!t && t.nodeType === 1;\n}\nfunction tn(t) {\n  return V(t) ? t : document.body;\n}\nfunction en(t, e) {\n  return !y || !t ? [] : Array.from(tn(e).querySelectorAll(t));\n}\nfunction Pr(t) {\n  if (!y)\n    return !1;\n  const e = document.activeElement;\n  return !V(t) || !e ? !1 : t === e || Xt(e, t);\n}\nfunction Xt(t, e) {\n  if (!t || !e)\n    return !1;\n  const n = e.__transferElement;\n  return e.contains(t) || !!n && (n === t || n.contains(t));\n}\nfunction nn(t) {\n  if (!y || !V(t) || !t.parentNode || !Xt(t, document.body) || t.style.display === \"none\")\n    return !0;\n  const e = t.getBoundingClientRect();\n  return !(e && e.width > 0 && e.height > 0);\n}\nfunction rn(t) {\n  return !nn(t);\n}\nfunction on(t) {\n  return !V(t) || t.hasAttribute(\"disabled\") && t.getAttribute(\"disabled\") !== \"false\" || t.disabled;\n}\nfunction Br(t, e = !1) {\n  const n = e ? () => !1 : on;\n  return en(Je, t).filter(\n    (r) => rn(r) && r.tabIndex > -1 && !n(r)\n  );\n}\nfunction sn(t) {\n  if (!y || !t)\n    return 0;\n  const e = getComputedStyle(t);\n  return parseFloat(e.paddingLeft) + parseFloat(e.paddingRight) || 0;\n}\nfunction Ur(t) {\n  if (!y || !t)\n    return 0;\n  const e = getComputedStyle(t);\n  return parseFloat(e.paddingTop) + parseFloat(e.paddingBottom) || 0;\n}\nfunction Yr(t) {\n  if (!y || !t)\n    return 0;\n  const e = getComputedStyle(t);\n  return parseFloat(e.marginLeft) + parseFloat(e.marginRight) || 0;\n}\nfunction Gr(t) {\n  if (!y || !t)\n    return 0;\n  const e = getComputedStyle(t);\n  return parseFloat(e.marginTop) + parseFloat(e.marginBottom) || 0;\n}\nfunction Wr(t) {\n  if (!y || !t)\n    return 0;\n  const e = getComputedStyle(t);\n  return parseFloat(e.borderLeftWidth) + parseFloat(e.borderRightWidth) || 0;\n}\nfunction zr(t) {\n  if (!y || !t)\n    return 0;\n  const e = getComputedStyle(t);\n  return parseFloat(e.borderTopWidth) + parseFloat(e.borderBottomWidth) || 0;\n}\nfunction qr(t) {\n  if (!y || !t)\n    return 0;\n  const e = document.createRange();\n  e.setStart(t, 0), e.setEnd(t, t.childNodes.length);\n  const n = e.getBoundingClientRect().width, r = sn(t);\n  return n + r;\n}\nfunction jr(t) {\n  return me(t, !0) ? `${be(t)}px` : String(t).trim();\n}\nfunction Kr(t) {\n  return S(t) && t !== !1 ? String(t) : void 0;\n}\nconst cn = /[\"'&<>]/;\nfunction Qr(t) {\n  const e = \"\" + t, n = cn.exec(e);\n  if (!n)\n    return e;\n  let r = \"\", o, i, s = 0;\n  for (i = n.index; i < e.length; i++) {\n    switch (e.charCodeAt(i)) {\n      case 34:\n        o = \"&quot;\";\n        break;\n      case 38:\n        o = \"&amp;\";\n        break;\n      case 39:\n        o = \"&#39;\";\n        break;\n      case 60:\n        o = \"&lt;\";\n        break;\n      case 62:\n        o = \"&gt;\";\n        break;\n      default:\n        continue;\n    }\n    s !== i && (r += e.substring(s, i)), s = i + 1, r += o;\n  }\n  return s !== i ? r + e.substring(s, i) : r;\n}\nfunction Xr() {\n  const t = /* @__PURE__ */ new Map();\n  return {\n    on(e, n) {\n      const r = t.get(e);\n      (r == null ? void 0 : r.add(n)) || t.set(e, /* @__PURE__ */ new Set([n]));\n    },\n    off(e, n) {\n      const r = t.get(e);\n      r && r.delete(n);\n    },\n    clear(e) {\n      const n = t.get(e);\n      n && n.clear();\n    },\n    clearAll() {\n      t.clear();\n    },\n    emit(e, ...n) {\n      const r = t.get(e);\n      r && r.forEach((o) => {\n        o(...n);\n      });\n    }\n  };\n}\nfunction lt(t, e, n) {\n  t && !e.has(t) && (n(t), e.add(t));\n}\nconst an = /* @__PURE__ */ new Set();\nfunction Vr(t, e = console.info) {\n  lt(t, an, e);\n}\nconst fn = /* @__PURE__ */ new Set();\nfunction Zr(t, e = console.warn) {\n  lt(t, fn, e);\n}\nconst un = /* @__PURE__ */ new Set();\nfunction vr(t, e = console.warn) {\n  lt(t, un, e);\n}\nconst dt = y ? requestAnimationFrame : (t) => {\n  setTimeout(t, 16);\n};\nfunction Jr(t, e = 16) {\n  if (typeof t != \"function\")\n    return ot;\n  const n = (...i) => {\n    t(...i);\n  };\n  if (e <= 0)\n    return Vt(n);\n  let r = 0, o;\n  return function(...i) {\n    const s = Date.now(), c = s - r;\n    clearTimeout(o), c >= e ? (r = s, n(...i)) : o = setTimeout(\n      () => {\n        r = Date.now(), n(...i);\n      },\n      Math.max(0, e - c)\n    );\n  };\n}\nfunction to(t, e = 100) {\n  if (typeof t != \"function\")\n    return ot;\n  const n = (...o) => {\n    t(...o);\n  };\n  if (e <= 0)\n    return Vt(n);\n  let r;\n  return function(...o) {\n    clearTimeout(r), r = setTimeout(() => {\n      n(...o);\n    }, e);\n  };\n}\nfunction Vt(t) {\n  if (typeof t != \"function\")\n    return t;\n  let e = !1, n, r;\n  return function(...o) {\n    return n = o, e || (e = !0, r = Promise.resolve().then(() => (e = !1, r = void 0, t(...n)))), r;\n  };\n}\nfunction eo(t) {\n  if (typeof t != \"function\")\n    return t;\n  let e = !1, n, r;\n  return function(...o) {\n    return n = o, e || (e = !0, r = new Promise(\n      (i) => dt(() => {\n        e = !1, r = void 0, i(t(...n));\n      })\n    )), r;\n  };\n}\nconst x = /* @__PURE__ */ new Set(), Zt = /* @__PURE__ */ new WeakMap();\nfunction ln() {\n  x.forEach((t) => {\n    t(...Zt.get(t));\n  }), x.clear();\n}\nfunction no(t, ...e) {\n  if (typeof t != \"function\")\n    return t;\n  Zt.set(t, e), !x.has(t) && (x.add(t), x.size === 1 && Promise.resolve().then(ln));\n}\nconst D = /* @__PURE__ */ new Set(), vt = /* @__PURE__ */ new WeakMap();\nfunction dn() {\n  D.forEach((t) => {\n    t(...vt.get(t));\n  }), D.clear();\n}\nfunction ro(t, ...e) {\n  if (typeof t != \"function\")\n    return t;\n  vt.set(t, e), !D.has(t) && (D.add(t), D.size === 1 && dt(dn));\n}\nasync function oo(t, e, n) {\n  const r = [], o = [];\n  for (const i of e) {\n    const s = Promise.resolve().then(() => n(i, e));\n    if (r.push(s), t <= e.length) {\n      const c = s.then(() => o.splice(o.indexOf(c), 1));\n      o.push(c), o.length >= t && await Promise.race(o);\n    }\n  }\n  return Promise.all(r);\n}\nlet et = null;\nfunction io() {\n  if (!y)\n    return !0;\n  if (et === null) {\n    const t = document.createElement(\"div\");\n    t.style.display = \"flex\", t.style.flexDirection = \"column\", t.style.rowGap = \"1px\", t.appendChild(document.createElement(\"div\")), t.appendChild(document.createElement(\"div\")), document.body.appendChild(t), et = t.scrollHeight === 1, document.body.removeChild(t);\n  }\n  return et;\n}\nlet nt = null;\nfunction so() {\n  return y ? (nt === null && (nt = \"loading\" in document.createElement(\"img\")), nt) : !1;\n}\nfunction co(t) {\n  return Array.isArray(t) ? t : [t];\n}\nfunction ao(t, ...e) {\n  return Ft(t) ? t(...e) : t;\n}\nfunction fo(t) {\n  return t.replace(/[\\\\/]+/g, \"/\");\n}\nfunction uo(t) {\n  return t[t.length - 1];\n}\nfunction lo(t, e, n = (o) => o, r = !1) {\n  const o = r ? /* @__PURE__ */ new Map() : {};\n  if (!S(e))\n    return o;\n  const i = r ? (c, a) => o.set(c, a) : (c, a) => o[c] = a, s = Ft(e) ? e : (c) => c[e];\n  return t.forEach((c) => {\n    const a = s(c);\n    S(a) && i(a, n(c));\n  }), o;\n}\nfunction ho(t, e, n = !1) {\n  let r = -1;\n  return n || typeof e != \"function\" ? r = t.findIndex((o) => o === e) : r = t.findIndex(e), ~r ? t.splice(r, 1)[0] : null;\n}\nfunction go(t, e = []) {\n  (typeof e == \"string\" || typeof e == \"function\") && (e = [e]);\n  const n = e.length, r = {};\n  for (const o of t) {\n    let i;\n    for (let s = 0; s < n; ++s) {\n      const c = s === n - 1, a = e[s], f = typeof a == \"function\" ? a(o) : o[a];\n      i ? (i[f] || (i[f] = c ? [] : {}), i = i[f]) : (r[f] || (r[f] = c ? [] : {}), i = r[f]);\n    }\n    i.push(o);\n  }\n  return r;\n}\nfunction po(t, e = {}) {\n  const {\n    keyField: n = \"id\",\n    childField: r = \"children\",\n    parentField: o = \"parent\",\n    rootId: i = null\n  } = e, s = S(i) && i !== \"\", c = [], a = /* @__PURE__ */ new Map();\n  for (let f = 0, u = t.length; f < u; ++f) {\n    const d = t[f], g = d[n];\n    if (!(s ? g === i : !S(g)))\n      if (a.has(g) ? d[r] = a.get(g) : (d[r] = [], a.set(g, d[r])), d[o] && (!s || d[o] !== i)) {\n        const l = d[o];\n        a.has(l) || a.set(l, []), a.get(l).push(d);\n      } else\n        c.push(d);\n  }\n  return c;\n}\nfunction mo(t, e = {}) {\n  const {\n    keyField: n = \"id\",\n    childField: r = \"children\",\n    parentField: o = \"parent\",\n    rootId: i = null,\n    depthFirst: s = !1,\n    injectId: c = !0,\n    buildId: a = (m) => m,\n    filter: f = ie,\n    cascaded: u = !1,\n    forceInject: d = !1\n  } = e;\n  let g = 1;\n  const l = S(i) && i !== \"\", p = [], b = [...t];\n  for (; b.length; ) {\n    const m = b.shift(), Z = m[r], v = Array.isArray(Z) && Z.length ? Z : [];\n    c && (d || !m[n]) && (m[n] = a(g++));\n    const Jt = m[n];\n    c && o && (l ? m[o] === i : !m[o]) && (m[o] = i);\n    const ht = f(m);\n    if (ht && p.push(m), ht || !u) {\n      for (let J = 0, te = v.length; J < te; ++J) {\n        const gt = v[J];\n        c && o && (gt[o] = Jt), !s && b.push(gt);\n      }\n      s && b.unshift(...v);\n    }\n  }\n  return p;\n}\nfunction bo(t, e, n = {}) {\n  const { childField: r = \"children\", depthFirst: o = !1 } = n, i = [...t.map((s) => ({ item: s, depth: 0, parent: null }))];\n  for (; i.length; ) {\n    const { item: s, depth: c, parent: a } = i.shift(), f = s[r];\n    e(s, c, a), G(f) && i[o ? \"unshift\" : \"push\"](\n      ...Array.from(f).map((u) => ({ item: u, depth: c + 1, parent: s }))\n    );\n  }\n}\nfunction yo(t, e, n = {}) {\n  const { childField: r = \"children\", depthFirst: o = !1, clearChildren: i = !0 } = n, s = [], c = [...t.map((a) => ({ item: a, depth: 0, parent: null, result: s }))];\n  for (; c.length; ) {\n    const { item: a, depth: f, parent: u, result: d } = c.shift(), g = a[r], l = e(a, f, u) ?? {};\n    i && (l[r] = []), d.push(l), G(g) && Array.from(g).length && (l[r] = [], c[o ? \"unshift\" : \"push\"](\n      ...Array.from(g).map((b) => ({\n        item: b,\n        depth: f + 1,\n        parent: a,\n        result: l[r]\n      }))\n    ));\n  }\n  return s;\n}\nfunction Mo(t, e, n = {}) {\n  const {\n    childField: r = \"children\",\n    leafOnly: o = !1,\n    isLeaf: i = (c) => !G(c[r])\n  } = n, s = (c, a, f) => c.map((u) => ({ ...u })).filter((u) => {\n    const d = u[r], g = i(u), l = G(d) && Array.from(d);\n    if (o && !g) {\n      if (l && l.length) {\n        const b = s(l, a + 1, u);\n        return u[r] = b, !!b.length;\n      }\n      return !1;\n    }\n    const p = e(u, a, f);\n    if (g)\n      return p;\n    if (!o && p)\n      return !0;\n    if (l && l.length) {\n      const b = s(l, a + 1, u);\n      return u[r] = b, !!b.length;\n    }\n    return p;\n  });\n  return s(t, 0, null);\n}\nconst Nt = (t, e) => Number.isNaN(Number(t) - Number(e)) ? String(t).localeCompare(e) : t - e;\nfunction So(t, e) {\n  if (!t.sort || Y(e) && !e.key || !e.length)\n    return t;\n  const n = Array.from(t);\n  Array.isArray(e) || (e = [e]);\n  const r = e.map(\n    (o) => typeof o == \"string\" ? {\n      key: o,\n      method: Nt,\n      type: \"asc\"\n    } : o\n  ).map((o) => (typeof o.accessor != \"function\" && (o.accessor = (i) => i[o.key]), typeof o.method != \"function\" && (o.method = Nt), o.params = Array.isArray(o.params) ? o.params : [], o));\n  return n.sort((o, i) => {\n    let s = 0;\n    for (const c of r) {\n      const { method: a, type: f, accessor: u, params: d } = c, g = f === \"desc\", l = a(u(o, ...d), u(i, ...d));\n      if (s = g ? -l : l, s)\n        break;\n    }\n    return s;\n  }), n;\n}\nfunction wo(t, e, n = !0) {\n  t = n ? Qe(t) : t;\n  const r = [\n    {\n      source: t,\n      target: e\n    }\n  ];\n  for (; r.length; ) {\n    const { source: o, target: i } = r.pop();\n    Object.keys(i).forEach((s) => {\n      Y(i[s]) ? (Y(o[s]) || (o[s] = {}), r.push({\n        source: o[s],\n        target: i[s]\n      })) : Array.isArray(i[s]) ? (Array.isArray(o[s]) || (o[s] = []), r.push({\n        source: o[s],\n        target: i[s]\n      })) : o[s] = i[s];\n    });\n  }\n  return t;\n}\nfunction Eo(t) {\n  t = Array.from(t);\n  let e = !1;\n  const n = () => {\n    var r;\n    e || ((r = t.shift()) == null || r(), t.length && dt(n));\n  };\n  return n(), () => e = !0;\n}\nfunction hn(t) {\n  const e = t.match(/[A-Z]+/);\n  return e && e[0] === t;\n}\nconst gn = /\\B([A-Z])(?=[^A-Z_-])/g;\nfunction No(t) {\n  return t.replace(gn, \"-$1\").toLowerCase();\n}\nfunction pn(t) {\n  return t = t.trim().replace(/\\s+/g, \"-\"), t = t.replace(/-+(\\w)/g, (e, n) => n ? n.toUpperCase() : \"\"), (t.charAt(0).toLocaleUpperCase() + t.slice(1)).replace(\n    /[^\\w]/g,\n    \"\"\n  );\n}\nfunction Ao(t) {\n  const e = pn(t);\n  return hn(e) ? e.toLocaleLowerCase() : e.charAt(0).toLowerCase() + e.slice(1);\n}\nexport {\n  Lr as CLICK_TYPE,\n  ue as COLOR_NAMES,\n  qt as DAY_ON_HOURS,\n  lr as DAY_ON_MILLISECONDS,\n  Ne as DAY_ON_MILLS,\n  Ee as DAY_ON_MINUTES,\n  jt as DAY_ON_SECONDS,\n  kt as HEX_REG_3,\n  xt as HEX_REG_4,\n  Dt as HEX_REG_6,\n  It as HEX_REG_8,\n  ur as HOUR_ON_MILLISECONDS,\n  we as HOUR_ON_MILLS,\n  X as HOUR_ON_MINUTES,\n  zt as HOUR_ON_SECONDS,\n  Ot as HSLA_REG,\n  Ct as HSL_REG,\n  _t as HSVA_REG,\n  Rt as HSV_REG,\n  fr as MINUTE_ON_MILLISECONDS,\n  Se as MINUTE_ON_MILLS,\n  k as MINUTE_ON_SECONDS,\n  W as NAMED_COLORS,\n  Qt as QUARTER_ON_MONTHS,\n  Tt as RGBA_REG,\n  $t as RGB_REG,\n  A as SECOND_ON_MILLISECONDS,\n  Me as SECOND_ON_MILLS,\n  Ze as USE_TOUCH,\n  ct as WEEK_ON_DAYS,\n  Ae as WEEK_ON_HOURS,\n  dr as WEEK_ON_MILLISECONDS,\n  $e as WEEK_ON_MILLS,\n  Fe as WEEK_ON_MINUTES,\n  Kt as WEEK_ON_SECONDS,\n  Ce as YEAR_ON_MONTHS,\n  Te as YEAR_ON_QUARTERS,\n  at as addDays,\n  mr as addHalfDays,\n  Le as addHours,\n  xe as addMilliseconds,\n  Ie as addMinutes,\n  ft as addMonths,\n  yr as addQuarters,\n  De as addSeconds,\n  br as addWeeks,\n  Mr as addYears,\n  Gn as adjustAlpha,\n  er as boundRange,\n  po as buildTree,\n  ao as callIfFunc,\n  qe as compareAsc,\n  _ as compareDesc,\n  Xt as contains,\n  Vn as createBITree,\n  Xn as createCounter,\n  Xr as createEventEmitter,\n  to as debounce,\n  eo as debounceFrame,\n  Vt as debounceMinor,\n  Ln as decide,\n  E as decimalLength,\n  Qe as deepClone,\n  Ir as destroyObject,\n  Ge as differenceDays,\n  je as differenceFullDays,\n  _r as differenceFullHours,\n  Rr as differenceFullMinutes,\n  Ke as differenceFullMonths,\n  xr as differenceFullQuarters,\n  Or as differenceFullSeconds,\n  kr as differenceFullWeeks,\n  Dr as differenceFullYears,\n  Ye as differenceHours,\n  ut as differenceMilliseconds,\n  Ue as differenceMinutes,\n  We as differenceMonths,\n  Cr as differenceQuarters,\n  Be as differenceSeconds,\n  Tr as differenceWeeks,\n  ze as differenceYears,\n  Zn as digitLength,\n  Hr as dispatchEvent,\n  ar as divide,\n  N as doubleDigits,\n  Nr as endOfDay,\n  co as ensureArray,\n  vr as errorOnce,\n  Qr as escapeHtml,\n  Mo as filterTree,\n  mo as flatTree,\n  hr as format,\n  or as formatByteSize,\n  pr as getChineseWeek,\n  Kn as getGlobalCount,\n  uo as getLast,\n  Pe as getLastDayOfMonth,\n  Er as getLastSunday,\n  rt as getQuarter,\n  qr as getRangeWidth,\n  gr as getTime,\n  se as getType,\n  Wr as getXBorder,\n  Yr as getXMargin,\n  sn as getXPadding,\n  zr as getYBorder,\n  Gr as getYMargin,\n  Ur as getYPadding,\n  go as groupByProps,\n  bn as has,\n  de as hslToHsv,\n  Lt as hslToRgb,\n  Un as hsvToHsl,\n  he as hsvToRgb,\n  Vr as infoOnce,\n  B as is,\n  Fn as isArray,\n  An as isBigInt,\n  Sn as isBoolean,\n  y as isClient,\n  Pn as isColor,\n  On as isDate,\n  S as isDefined,\n  on as isDisabled,\n  kn as isElement,\n  _n as isEmpty,\n  En as isFalse,\n  Pr as isFocusIn,\n  Ft as isFunction,\n  nn as isHidden,\n  mn as isIOS,\n  G as isIterable,\n  He as isLeapYear,\n  Cn as isMap,\n  oe as isNaN,\n  re as isNull,\n  yn as isNumber,\n  Y as isObject,\n  $n as isPromise,\n  Rn as isRegExp,\n  Tn as isSet,\n  Mn as isString,\n  Nn as isSymbol,\n  wn as isTrue,\n  me as isValidNumber,\n  rn as isVisible,\n  nr as leaveNumber,\n  lo as listToMap,\n  yo as mapTree,\n  wo as mergeObjects,\n  cr as minus,\n  Yn as mixColor,\n  Jn as multipleFixed,\n  ro as nextFrameOnce,\n  no as nextTickOnce,\n  ot as noop,\n  O as normalizeAlpha,\n  z as normalizeHsl,\n  q as normalizeHsv,\n  fo as normalizePath,\n  R as normalizeRgb,\n  pe as numberRE,\n  rr as ordinalNumber,\n  ye as padStartZeros,\n  Bn as parseColor,\n  $ as parseColorToRgba,\n  le as parseStringColor,\n  sr as plus,\n  en as queryAll,\n  Br as queryTabables,\n  dt as raf,\n  ir as random,\n  Wn as randomColor,\n  zn as randomHardColor,\n  Bt as randomPreferColor,\n  qn as randomSoftColor,\n  In as randomString,\n  Dn as range,\n  Sr as rangeDate,\n  wr as rangeMonth,\n  ho as removeArrayItem,\n  it as rgbToHex,\n  Ht as rgbToHsl,\n  Pt as rgbToHsv,\n  st as rgbaToHex,\n  tr as round,\n  oo as runParallel,\n  Eo as runQueueFrame,\n  vn as segmentNumber,\n  Qn as setGlobalCount,\n  So as sortByProps,\n  wt as startOfDay,\n  St as startOfHour,\n  Mt as startOfMinute,\n  Ar as startOfMonth,\n  Fr as startOfQuarter,\n  yt as startOfSecond,\n  Et as startOfWeek,\n  $r as startOfYear,\n  io as supportFlexGap,\n  so as supportImgLoading,\n  Jr as throttle,\n  P as times,\n  Kr as toAttrValue,\n  Ao as toCamelCase,\n  pn as toCapitalCase,\n  jr as toCssSize,\n  h as toDate,\n  xn as toFalse,\n  Gt as toFixed,\n  jn as toGrayScale,\n  No as toKebabCase,\n  be as toNumber,\n  Wt as toPrecision,\n  ie as toTrue,\n  lo as transformListToMap,\n  po as transformTree,\n  bo as walkTree,\n  Zr as warnOnce,\n  Hn as writeClipboard\n};\n//# sourceMappingURL=index.mjs.map\n","import type { InjectionKey } from 'vue'\nimport type { EventEmitter } from '@vexip-ui/utils'\nimport type { Layout, LayoutInstance, LayoutItem } from './types'\n\nexport const LAYOUT_KEY = Symbol('LAYOUT_KEY') as InjectionKey<LayoutInstance>\nexport const EMITTER_KEY = Symbol('EMITTER_KEY') as InjectionKey<EventEmitter>\n\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param layout Layout array.\n * @return Bottom coordinate.\n */\nexport function bottom(layout: Layout): number {\n  let max = 0\n  let bottomY\n  for (let i = 0, len = layout.length; i < len; i++) {\n    bottomY = layout[i].y + layout[i].h\n    if (bottomY > max) max = bottomY\n  }\n  return max\n}\n\nexport function cloneLayout(layout: Layout): Layout {\n  const newLayout = Array(layout.length)\n  for (let i = 0, len = layout.length; i < len; i++) {\n    newLayout[i] = cloneLayoutItem(layout[i])\n  }\n  return newLayout\n}\n\n// Fast path to cloning, since this is monomorphic\nexport function cloneLayoutItem(layoutItem: LayoutItem): LayoutItem {\n  // return JSON.parse(JSON.stringify(layoutItem))\n  return { ...layoutItem }\n}\n\n/**\n * Given two layoutitems, check if they collide.\n *\n * @return True if colliding.\n */\nexport function collides(l1: LayoutItem, l2: LayoutItem): boolean {\n  if (l1 === l2) return false // same element\n  if (l1.x + l1.w <= l2.x) return false // l1 is left of l2\n  if (l1.x >= l2.x + l2.w) return false // l1 is right of l2\n  if (l1.y + l1.h <= l2.y) return false // l1 is above l2\n  if (l1.y >= l2.y + l2.h) return false // l1 is below l2\n  return true // boxes overlap\n}\n\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * @param  layout Layout.\n * @param  verticalCompact Whether or not to compact the layout vertically.\n * @param minPositions\n * @return Compacted Layout.\n */\nexport function compact(layout: Layout, verticalCompact?: boolean, minPositions?: any): Layout {\n  // Statics go in the compareWith array right away so items flow around them.\n  const compareWith = getStatics(layout)\n  // We go through the items by row and column.\n  const sorted = sortLayoutItemsByRowCol(layout)\n  // Holding for new items.\n  const out: Layout = Array(layout.length)\n\n  for (let i = 0, len = sorted.length; i < len; i++) {\n    let l = sorted[i]\n\n    // Don't move static elements\n    if (!l.static) {\n      l = compactItem(compareWith, l, verticalCompact, minPositions)\n\n      // Add to comparison array. We only collide with items before this one.\n      // Statics are already in this array.\n      compareWith.push(l)\n    }\n\n    // Add to output array to make sure they still come out in the right order.\n    out[layout.findIndex(i => i.i === l.i)] = l\n\n    // Clear moved flag, if it exists.\n    l.moved = false\n  }\n\n  return out\n}\n\n/**\n * Compact an item in the layout.\n */\nexport function compactItem(\n  compareWith: Layout,\n  l: LayoutItem,\n  verticalCompact?: boolean,\n  minPositions?: any,\n): LayoutItem {\n  if (verticalCompact) {\n    // Move the element up as far as it can go without colliding.\n    while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n      l.y--\n    }\n  } else if (minPositions) {\n    const minY = minPositions[l.i].y\n    while (l.y > minY && !getFirstCollision(compareWith, l)) {\n      l.y--\n    }\n  }\n\n  // Move it down, and keep moving it down if it's colliding.\n  let collides\n  while ((collides = getFirstCollision(compareWith, l))) {\n    l.y = collides.y + collides.h\n  }\n  return l\n}\n\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * @param  layout Layout array.\n * @param  bounds Number of columns.\n */\nexport function correctBounds(layout: Layout, bounds: { cols: number }): Layout {\n  const collidesWith = getStatics(layout)\n  for (let i = 0, len = layout.length; i < len; i++) {\n    const l = layout[i]\n    // Overflows right\n    if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w\n    // Overflows left\n    if (l.x < 0) {\n      l.x = 0\n      l.w = bounds.cols\n    }\n    if (!l.static) collidesWith.push(l)\n    else {\n      // If this is static and collides with other statics, we must move it down.\n      // We have to do something nicer than just letting them overlap.\n      while (getFirstCollision(collidesWith, l)) {\n        l.y++\n      }\n    }\n  }\n  return layout\n}\n\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param    layout Layout array.\n * @param   id     ID\n * @return     Item at ID.\n */\nexport function getLayoutItem(layout: Layout, id: number | string): LayoutItem | undefined {\n  for (let i = 0, len = layout.length; i < len; i++) {\n    if (layout[i].i === id) return layout[i]\n  }\n}\n\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param  {Object} layoutItem Layout item.\n * @return {Object|undefined}  A colliding layout item, or undefined.\n */\nexport function getFirstCollision(layout: Layout, layoutItem: LayoutItem): LayoutItem | undefined {\n  for (let i = 0, len = layout.length; i < len; i++) {\n    if (collides(layout[i], layoutItem)) return layout[i]\n  }\n}\n\nexport function getAllCollisions(layout: Layout, layoutItem: LayoutItem): Array<LayoutItem> {\n  return layout.filter(l => collides(l, layoutItem))\n}\n\n/**\n * Get all static elements.\n * @param layout Array of layout objects.\n * @return  Array of static layout items..\n */\nexport function getStatics(layout: Layout): Array<LayoutItem> {\n  return layout.filter(l => l.static)\n}\n\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * @param        layout Full layout to modify.\n * @param   layoutItem      element to move.\n * @param       x    X position in grid units.\n * @param       y    Y position in grid units.\n * @param      isUserAction If true, designates that the item we're moving is\n *                                     being dragged/resized by th euser.\n */\nexport function moveElement(\n  layout: Layout,\n  layoutItem: LayoutItem,\n  x?: number,\n  y?: number,\n  isUserAction = false,\n  preventCollision = false,\n): Layout {\n  if (layoutItem.static) return layout\n\n  const oldX = layoutItem.x\n  const oldY = layoutItem.y\n\n  const movingUp = y && layoutItem.y > y\n  // This is quite a bit faster than extending the object\n  if (typeof x === 'number') layoutItem.x = x\n  if (typeof y === 'number') layoutItem.y = y\n  layoutItem.moved = true\n\n  // If this collides with anything, move it.\n  // When doing this comparison, we have to sort the items we compare with\n  // to ensure, in the case of multiple collisions, that we're getting the\n  // nearest collision.\n  let sorted = sortLayoutItemsByRowCol(layout)\n  if (movingUp) sorted = sorted.reverse()\n  const collisions = getAllCollisions(sorted, layoutItem)\n\n  if (preventCollision && collisions.length) {\n    layoutItem.x = oldX\n    layoutItem.y = oldY\n    layoutItem.moved = false\n    return layout\n  }\n\n  // Move each item that collides away from this element.\n  for (let i = 0, len = collisions.length; i < len; i++) {\n    const collision = collisions[i]\n\n    // Short circuit so we can't infinite loop\n    if (collision.moved) continue\n\n    // This makes it feel a bit more precise by waiting to swap for just a bit when moving up.\n    if (layoutItem.y > collision.y && layoutItem.y - collision.y > collision.h / 4) continue\n\n    // Don't move static items - we have to move *this* element away\n    if (collision.static) {\n      layout = moveElementAwayFromCollision(layout, collision, layoutItem, isUserAction)\n    } else {\n      layout = moveElementAwayFromCollision(layout, layoutItem, collision, isUserAction)\n    }\n  }\n\n  return layout\n}\n\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param   layout            Full layout to modify.\n * @param   collidesWith Layout item we're colliding with.\n * @param   itemToMove   Layout item we're moving.\n * @param  isUserAction  If true, designates that the item we're moving is being dragged/resized\n *                                   by the user.\n */\nexport function moveElementAwayFromCollision(\n  layout: Layout,\n  collidesWith: LayoutItem,\n  itemToMove: LayoutItem,\n  isUserAction?: boolean,\n): Layout {\n  const preventCollision = false // we're already colliding\n  // If there is enough space above the collision to put this element, move it there.\n  // We only do this on the main collision as this can get funky in cascades and cause\n  // unwanted swapping behavior.\n  if (isUserAction) {\n    // Make a mock item so we don't modify the item here, only modify in moveElement.\n    const fakeItem: LayoutItem = {\n      x: itemToMove.x,\n      y: itemToMove.y,\n      w: itemToMove.w,\n      h: itemToMove.h,\n      i: '-1',\n    }\n    fakeItem.y = Math.max(collidesWith.y - itemToMove.h, 0)\n    if (!getFirstCollision(layout, fakeItem)) {\n      return moveElement(layout, itemToMove, undefined, fakeItem.y, preventCollision)\n    }\n  }\n\n  // Previously this was optimized to move below the collision directly, but this can cause problems\n  // with cascading moves, as an item may actually leapflog a collision and cause a reversal in order.\n  return moveElement(layout, itemToMove, undefined, itemToMove.y + 1, preventCollision)\n}\n\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param   num Any number\n * @return      That number as a percentage.\n */\nexport function perc(num: number): string {\n  return num * 100 + '%'\n}\n\nexport function setTransform(top: number, left: number, width: number, height: number) {\n  // Replace unitless items with px\n  const translate = 'translate3d(' + left + 'px,' + top + 'px, 0)'\n  return {\n    transform: translate,\n    WebkitTransform: translate,\n    MozTransform: translate,\n    msTransform: translate,\n    OTransform: translate,\n    width: width + 'px',\n    height: height + 'px',\n    position: 'absolute',\n  }\n}\n/**\n * Just like the setTransform method, but instead it will return a negative value of right.\n *\n * @param top\n * @param right\n * @param width\n * @param height\n * @returns {{transform: string, WebkitTransform: string, MozTransform: string, msTransform: string, OTransform: string, width: string, height: string, position: string}}\n */\nexport function setTransformRtl(top: number, right: number, width: number, height: number) {\n  // Replace unitless items with px\n  const translate = 'translate3d(' + right * -1 + 'px,' + top + 'px, 0)'\n  return {\n    transform: translate,\n    WebkitTransform: translate,\n    MozTransform: translate,\n    msTransform: translate,\n    OTransform: translate,\n    width: width + 'px',\n    height: height + 'px',\n    position: 'absolute',\n  }\n}\n\nexport function setTopLeft(top: number, left: number, width: number, height: number) {\n  return {\n    top: top + 'px',\n    left: left + 'px',\n    width: width + 'px',\n    height: height + 'px',\n    position: 'absolute',\n  }\n}\n/**\n * Just like the setTopLeft method, but instead, it will return a right property instead of left.\n *\n * @param top\n * @param right\n * @param width\n * @param height\n * @returns position style\n */\nexport function setTopRight(top: number, right: number, width: number, height: number) {\n  return {\n    top: top + 'px',\n    right: right + 'px',\n    width: width + 'px',\n    height: height + 'px',\n    position: 'absolute',\n  }\n}\n\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return Layout, sorted static items first.\n */\nexport function sortLayoutItemsByRowCol(layout: Layout): Layout {\n  return Array.from(layout).sort(function (a, b) {\n    if (a.y === b.y && a.x === b.x) {\n      return 0\n    }\n\n    if (a.y > b.y || (a.y === b.y && a.x > b.x)) {\n      return 1\n    }\n\n    return -1\n  })\n}\n\n/**\n * Validate a layout. Throws errors.\n *\n * @param layout Array of layout items.\n * @param contextName Context name for errors.\n * @throw Validation error.\n */\nexport function validateLayout(layout: Layout, contextName?: string): void {\n  contextName = contextName || 'Layout'\n  const subProps = ['x', 'y', 'w', 'h']\n  const keyArr = []\n  if (!Array.isArray(layout)) throw new Error(contextName + ' must be an array!')\n  for (let i = 0, len = layout.length; i < len; i++) {\n    const item = layout[i]\n    for (let j = 0; j < subProps.length; j++) {\n      if (typeof (item as any)[subProps[j]] !== 'number') {\n        throw new Error(\n          'VueGridLayout: ' + contextName + '[' + i + '].' + subProps[j] + ' must be a number!',\n        )\n      }\n    }\n\n    if (item.i === undefined || item.i === null) {\n      throw new Error('VueGridLayout: ' + contextName + '[' + i + '].i cannot be null!')\n    }\n\n    if (typeof item.i !== 'number' && typeof item.i !== 'string') {\n      throw new Error('VueGridLayout: ' + contextName + '[' + i + '].i must be a string or number!')\n    }\n\n    if (keyArr.indexOf(item.i) >= 0) {\n      throw new Error('VueGridLayout: ' + contextName + '[' + i + '].i must be unique!')\n    }\n    keyArr.push(item.i)\n\n    if (item.static !== undefined && typeof item.static !== 'boolean') {\n      throw new Error('VueGridLayout: ' + contextName + '[' + i + '].static must be a boolean!')\n    }\n  }\n}\n\n// Flow can't really figure this out, so we just use Object\nexport function autoBindHandlers(\n  el: Record<string, (...args: any[]) => any>,\n  fns: Array<string>,\n): void {\n  fns.forEach(key => (el[key] = el[key].bind(el)))\n}\n\n/**\n * Convert a JS object to CSS string. Similar to React's output of CSS.\n * @param obj\n * @returns\n */\nexport function createMarkup(obj: Record<string, any>) {\n  const keys = Object.keys(obj)\n  if (!keys.length) return ''\n  let i\n  const len = keys.length\n  let result = ''\n\n  for (i = 0; i < len; i++) {\n    const key = keys[i]\n    const val = obj[key]\n    result += hyphenate(key) + ':' + addPx(key, val) + ';'\n  }\n\n  return result\n}\n\n/* The following list is defined in React's core */\nexport const IS_UNITLESS: Record<string, boolean> = {\n  animationIterationCount: true,\n  boxFlex: true,\n  boxFlexGroup: true,\n  boxOrdinalGroup: true,\n  columnCount: true,\n  flex: true,\n  flexGrow: true,\n  flexPositive: true,\n  flexShrink: true,\n  flexNegative: true,\n  flexOrder: true,\n  gridRow: true,\n  gridColumn: true,\n  fontWeight: true,\n  lineClamp: true,\n  lineHeight: true,\n  opacity: true,\n  order: true,\n  orphans: true,\n  tabSize: true,\n  widows: true,\n  zIndex: true,\n  zoom: true,\n\n  // SVG-related properties\n  fillOpacity: true,\n  stopOpacity: true,\n  strokeDashoffset: true,\n  strokeOpacity: true,\n  strokeWidth: true,\n}\n\n/**\n * Will add px to the end of style values which are Numbers.\n * @param name\n * @param value\n * @returns {*}\n */\nexport function addPx(name: string, value: number | string) {\n  if (typeof value === 'number' && !IS_UNITLESS[name]) {\n    return value + 'px'\n  } else {\n    return value\n  }\n}\n\nexport const hyphenateRE = /([a-z\\d])([A-Z])/g\n\n/**\n * Hyphenate a camelCase string.\n *\n * @param  str\n * @return\n */\nexport function hyphenate(str: string) {\n  return str.replace(hyphenateRE, '$1-$2').toLowerCase()\n}\n\nexport function findItemInArray(array: any[], property: string, value: any) {\n  for (let i = 0; i < array.length; i++) {\n    if (array[i][property] === value) {\n      return true\n    }\n  }\n\n  return false\n}\n\nexport function findAndRemove(array: any[], property: string, value: any) {\n  array.forEach(function (result, index) {\n    if (result[property] === value) {\n      // Remove from array\n      array.splice(index, 1)\n    }\n  })\n}\n\nexport function useNameHelper(block: string, namespace = 'vgl') {\n  /**\n   * @returns `${namespace}-${block}`\n   */\n  const b = () => `${namespace}-${block}`\n  /**\n   * @returns `${namespace}-${block}__${element}`\n   */\n  const be = (element: string) => `${b()}__${element}`\n  /**\n   * @returns `${namespace}-${block}--${modifier}`\n   */\n  const bm = (modifier: string | number) => `${b()}--${modifier}`\n  /**\n   * @returns `${namespace}-${block}__${element}--${modifier}`\n   */\n  const bem = (element: string, modifier: string | number) => `${b()}__${element}--${modifier}`\n\n  return {\n    b,\n    be,\n    bm,\n    bem,\n  }\n}\n","// Get {x, y} positions from event.\nexport function getControlPosition(e: MouseEvent) {\n  return offsetXYFromParentOf(e)\n}\n\n// Get from offsetParent\nexport function offsetXYFromParentOf(evt: MouseEvent) {\n  const offsetParent = (evt.target as HTMLElement)?.offsetParent || document.body\n  const offsetParentRect =\n    (evt as any).offsetParent === document.body\n      ? { left: 0, top: 0 }\n      : offsetParent.getBoundingClientRect()\n\n  const x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left\n  const y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top\n\n  /* const x = Math.round(evt.clientX + offsetParent.scrollLeft - offsetParentRect.left);\n  const y = Math.round(evt.clientY + offsetParent.scrollTop - offsetParentRect.top); */\n\n  return { x, y }\n}\n\n// Create an data object exposed by <DraggableCore>'s events\nexport function createCoreData(lastX: number, lastY: number, x: number, y: number) {\n  // State changes are often (but not always!) async. We want the latest value.\n  const isStart = !isNum(lastX)\n\n  if (isStart) {\n    // If this is our first move, use the x and y as last coords.\n    return {\n      deltaX: 0,\n      deltaY: 0,\n      lastX: x,\n      lastY: y,\n      x,\n      y,\n    }\n  } else {\n    // Otherwise calculate proper values.\n    return {\n      deltaX: x - lastX,\n      deltaY: y - lastY,\n      lastX,\n      lastY,\n      x,\n      y,\n    }\n  }\n}\n\nfunction isNum(num: unknown): num is number {\n  return typeof num === 'number' && !Number.isNaN(num)\n}\n","import { cloneLayout, compact, correctBounds } from './common'\n\nimport type { Breakpoint, Breakpoints, Layout, ResponsiveLayout } from './types'\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param   breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param   width Screen width.\n * @return        Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n  const sorted = sortBreakpoints(breakpoints)\n  let matching = sorted[0]\n  for (let i = 1, len = sorted.length; i < len; i++) {\n    const breakpointName = sorted[i]\n    if (width > breakpoints[breakpointName]) matching = breakpointName\n  }\n  return matching\n}\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param   breakpoint Breakpoint name.\n * @param   cols       Map of breakpoints to cols.\n * @return             Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n  if (!cols[breakpoint]) {\n    throw new Error(\n      'ResponsiveGridLayout: `cols` entry for breakpoint ' + breakpoint + ' is missing!',\n    )\n  }\n  return cols[breakpoint]\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param  orgLayout     Original layout.\n * @param  layouts     Existing layouts.\n * @param  breakpoints All breakpoints.\n * @param  breakpoint New breakpoint.\n * @param  breakpoint Last breakpoint (for fallback).\n * @param  cols       Column count at new breakpoint.\n * @param  verticalCompact Whether or not to compact the layout\n *   vertically.\n * @return              New layout.\n */\nexport function findOrGenerateResponsiveLayout(\n  orgLayout: Layout,\n  layouts: ResponsiveLayout,\n  breakpoints: Breakpoints,\n  breakpoint: Breakpoint,\n  lastBreakpoint: Breakpoint,\n  cols: number,\n  verticalCompact: boolean,\n): Layout {\n  debugger\n  // If it already exists, just return it.\n  if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint])\n  // Find or generate the next layout\n  let layout = orgLayout\n\n  const breakpointsSorted = sortBreakpoints(breakpoints)\n  const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint))\n  for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n    const b = breakpointsAbove[i]\n    if (layouts[b]) {\n      layout = layouts[b]\n      break\n    }\n  }\n  layout = cloneLayout(layout || []) // clone layout so we don't modify existing items\n  return compact(correctBounds(layout, { cols }), verticalCompact)\n}\n\nexport function generateResponsiveLayout(\n  layout: Layout,\n  breakpoints: Breakpoints,\n  breakpoint: Breakpoint,\n  lastBreakpoint: Breakpoint,\n  cols: number,\n  verticalCompact: boolean,\n): Layout {\n  // If it already exists, just return it.\n  /* if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n  // Find or generate the next layout\n  let layout = layouts[lastBreakpoint]; */\n  /* const breakpointsSorted = sortBreakpoints(breakpoints);\nconst breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\nfor (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n  const b = breakpointsAbove[i];\n  if (layouts[b]) {\n    layout = layouts[b];\n    break;\n  }\n} */\n  layout = cloneLayout(layout || []) // clone layout so we don't modify existing items\n  return compact(correctBounds(layout, { cols }), verticalCompact)\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param  breakpoints Key/value pair of breakpoint names to widths.\n * @return              Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array<Breakpoint> {\n  const keys = Object.keys(breakpoints) as Array<Breakpoint>\n  return keys.sort((a, b) => breakpoints[a] - breakpoints[b])\n}\n","let currentDir: 'ltr' | 'rtl' | 'auto' = 'auto'\n\nfunction hasDocument() {\n  return typeof document !== 'undefined'\n}\n\nexport function getDocumentDir() {\n  if (!hasDocument()) {\n    return currentDir\n  }\n  const direction =\n    typeof document.dir !== 'undefined'\n      ? document.dir\n      : document.getElementsByTagName('html')[0].getAttribute('dir')\n  return direction\n}\n\nexport function setDocumentDir(dir: 'ltr' | 'rtl' | 'auto') {\n  if (!hasDocument()) {\n    currentDir = dir\n    return\n  }\n\n  const html = document.getElementsByTagName('html')[0]\n  html.setAttribute('dir', dir)\n}\n","/* interact.js 1.10.27 | https://raw.github.com/taye/interact.js/main/LICENSE */\n\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).interact=e()}(this,(function(){\"use strict\";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function e(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function n(t){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n(t)}function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,d(r.key),r)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}function a(t,e,n){return(e=d(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&l(t,e)}function c(t){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},c(t)}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function u(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function p(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=c(t);if(e){var i=c(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&(\"object\"==typeof e||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return u(t)}(this,n)}}function f(){return f=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=c(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}},f.apply(this,arguments)}function d(t){var e=function(t,e){if(\"object\"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}var h=function(t){return!(!t||!t.Window)&&t instanceof t.Window},v=void 0,g=void 0;function m(t){v=t;var e=t.document.createTextNode(\"\");e.ownerDocument!==t.document&&\"function\"==typeof t.wrap&&t.wrap(e)===e&&(t=t.wrap(t)),g=t}function y(t){return h(t)?t:(t.ownerDocument||t).defaultView||g.window}\"undefined\"!=typeof window&&window&&m(window);var b=function(t){return!!t&&\"object\"===n(t)},x=function(t){return\"function\"==typeof t},w={window:function(t){return t===g||h(t)},docFrag:function(t){return b(t)&&11===t.nodeType},object:b,func:x,number:function(t){return\"number\"==typeof t},bool:function(t){return\"boolean\"==typeof t},string:function(t){return\"string\"==typeof t},element:function(t){if(!t||\"object\"!==n(t))return!1;var e=y(t)||g;return/object|function/.test(\"undefined\"==typeof Element?\"undefined\":n(Element))?t instanceof Element||t instanceof e.Element:1===t.nodeType&&\"string\"==typeof t.nodeName},plainObject:function(t){return b(t)&&!!t.constructor&&/function Object\\b/.test(t.constructor.toString())},array:function(t){return b(t)&&void 0!==t.length&&x(t.splice)}};function E(t){var e=t.interaction;if(\"drag\"===e.prepared.name){var n=e.prepared.axis;\"x\"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):\"y\"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function T(t){var e=t.iEvent,n=t.interaction;if(\"drag\"===n.prepared.name){var r=n.prepared.axis;if(\"x\"===r||\"y\"===r){var i=\"x\"===r?\"y\":\"x\";e.page[i]=n.coords.start.page[i],e.client[i]=n.coords.start.client[i],e.delta[i]=0}}}var S={id:\"actions/drag\",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=S.draggable,e.map.drag=S,e.methodDict.drag=\"draggable\",r.actions.drag=S.defaults},listeners:{\"interactions:before-action-move\":E,\"interactions:action-resume\":E,\"interactions:action-move\":T,\"auto-start:check\":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,i=n.options.drag;if(i&&i.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:\"drag\",axis:\"start\"===i.lockAxis?i.startAxis:i.lockAxis},!1}},draggable:function(t){return w.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction(\"drag\",t),this.setOnEvents(\"drag\",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):w.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:E,move:T,defaults:{startAxis:\"xy\",lockAxis:\"xy\"},getCursor:function(){return\"move\"},filterEventType:function(t){return 0===t.search(\"drag\")}},_=S,P={init:function(t){var e=t;P.document=e.document,P.DocumentFragment=e.DocumentFragment||O,P.SVGElement=e.SVGElement||O,P.SVGSVGElement=e.SVGSVGElement||O,P.SVGElementInstance=e.SVGElementInstance||O,P.Element=e.Element||O,P.HTMLElement=e.HTMLElement||P.Element,P.Event=e.Event,P.Touch=e.Touch||O,P.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function O(){}var k=P;var D={init:function(t){var e=k.Element,n=t.navigator||{};D.supportsTouch=\"ontouchstart\"in t||w.func(t.DocumentTouch)&&k.document instanceof t.DocumentTouch,D.supportsPointerEvent=!1!==n.pointerEnabled&&!!k.PointerEvent,D.isIOS=/iP(hone|od|ad)/.test(n.platform),D.isIOS7=/iP(hone|od|ad)/.test(n.platform)&&/OS 7[^\\d]/.test(n.appVersion),D.isIe9=/MSIE 9/.test(n.userAgent),D.isOperaMobile=\"Opera\"===n.appName&&D.supportsTouch&&/Presto/.test(n.userAgent),D.prefixedMatchesSelector=\"matches\"in e.prototype?\"matches\":\"webkitMatchesSelector\"in e.prototype?\"webkitMatchesSelector\":\"mozMatchesSelector\"in e.prototype?\"mozMatchesSelector\":\"oMatchesSelector\"in e.prototype?\"oMatchesSelector\":\"msMatchesSelector\",D.pEventTypes=D.supportsPointerEvent?k.PointerEvent===t.MSPointerEvent?{up:\"MSPointerUp\",down:\"MSPointerDown\",over:\"mouseover\",out:\"mouseout\",move:\"MSPointerMove\",cancel:\"MSPointerCancel\"}:{up:\"pointerup\",down:\"pointerdown\",over:\"pointerover\",out:\"pointerout\",move:\"pointermove\",cancel:\"pointercancel\"}:null,D.wheelEvent=k.document&&\"onmousewheel\"in k.document?\"mousewheel\":\"wheel\"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var I=D;function M(t,e){if(t.contains)return t.contains(e);for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function z(t,e){for(;w.element(t);){if(R(t,e))return t;t=A(t)}return null}function A(t){var e=t.parentNode;if(w.docFrag(e)){for(;(e=e.host)&&w.docFrag(e););return e}return e}function R(t,e){return g!==v&&(e=e.replace(/\\/deep\\//g,\" \")),t[I.prefixedMatchesSelector](e)}var C=function(t){return t.parentNode||t.host};function j(t,e){for(var n,r=[],i=t;(n=C(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function F(t,e,n){for(;w.element(t);){if(R(t,e))return!0;if((t=A(t))===n)return R(t,e)}return!1}function X(t){return t.correspondingUseElement||t}function Y(t){var e=t instanceof k.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}function L(t){var e,n=Y(t);if(!I.isIOS7&&n){var r={x:(e=(e=y(t))||g).scrollX||e.document.documentElement.scrollLeft,y:e.scrollY||e.document.documentElement.scrollTop};n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n}function q(t){for(var e=[];t;)e.push(t),t=A(t);return e}function B(t){return!!w.string(t)&&(k.document.querySelector(t),!0)}function V(t,e){for(var n in e)t[n]=e[n];return t}function W(t,e,n){return\"parent\"===t?A(n):\"self\"===t?e.getRect(n):z(n,t)}function G(t,e,n,r){var i=t;return w.string(i)?i=W(i,e,n):w.func(i)&&(i=i.apply(void 0,r)),w.element(i)&&(i=L(i)),i}function N(t){return t&&{x:\"x\"in t?t.x:t.left,y:\"y\"in t?t.y:t.top}}function U(t){return!t||\"x\"in t&&\"y\"in t||((t=V({},t)).x=t.left||0,t.y=t.top||0,t.width=t.width||(t.right||0)-t.x,t.height=t.height||(t.bottom||0)-t.y),t}function H(t,e,n){t.left&&(e.left+=n.x),t.right&&(e.right+=n.x),t.top&&(e.top+=n.y),t.bottom&&(e.bottom+=n.y),e.width=e.right-e.left,e.height=e.bottom-e.top}function K(t,e,n){var r=n&&t.options[n];return N(G(r&&r.origin||t.options.origin,t,e,[t&&e]))||{x:0,y:0}}function $(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t){return!0},r=arguments.length>3?arguments[3]:void 0;if(r=r||{},w.string(t)&&-1!==t.search(\" \")&&(t=J(t)),w.array(t))return t.forEach((function(t){return $(t,e,n,r)})),r;if(w.object(t)&&(e=t,t=\"\"),w.func(e)&&n(t))r[t]=r[t]||[],r[t].push(e);else if(w.array(e))for(var i=0,o=e;i<o.length;i++){var a=o[i];$(t,a,n,r)}else if(w.object(e))for(var s in e){$(J(s).map((function(e){return\"\".concat(t).concat(e)})),e[s],n,r)}return r}function J(t){return t.trim().split(/ +/)}var Q=function(t,e){return Math.sqrt(t*t+e*e)},Z=[\"webkit\",\"moz\"];function tt(t,e){t.__set||(t.__set={});var n=function(n){if(Z.some((function(t){return 0===n.indexOf(t)})))return 1;\"function\"!=typeof t[n]&&\"__set\"!==n&&Object.defineProperty(t,n,{get:function(){return n in t.__set?t.__set[n]:t.__set[n]=e[n]},set:function(e){t.__set[n]=e},configurable:!0})};for(var r in e)n(r);return t}function et(t,e){t.page=t.page||{},t.page.x=e.page.x,t.page.y=e.page.y,t.client=t.client||{},t.client.x=e.client.x,t.client.y=e.client.y,t.timeStamp=e.timeStamp}function nt(t){t.page.x=0,t.page.y=0,t.client.x=0,t.client.y=0}function rt(t){return t instanceof k.Event||t instanceof k.Touch}function it(t,e,n){return t=t||\"page\",(n=n||{}).x=e[t+\"X\"],n.y=e[t+\"Y\"],n}function ot(t,e){return e=e||{x:0,y:0},I.isOperaMobile&&rt(t)?(it(\"screen\",t,e),e.x+=window.scrollX,e.y+=window.scrollY):it(\"page\",t,e),e}function at(t){return w.number(t.pointerId)?t.pointerId:t.identifier}function st(t,e,n){var r=e.length>1?lt(e):e[0];ot(r,t.page),function(t,e){e=e||{},I.isOperaMobile&&rt(t)?it(\"screen\",t,e):it(\"client\",t,e)}(r,t.client),t.timeStamp=n}function ct(t){var e=[];return w.array(t)?(e[0]=t[0],e[1]=t[1]):\"touchend\"===t.type?1===t.touches.length?(e[0]=t.touches[0],e[1]=t.changedTouches[0]):0===t.touches.length&&(e[0]=t.changedTouches[0],e[1]=t.changedTouches[1]):(e[0]=t.touches[0],e[1]=t.touches[1]),e}function lt(t){for(var e={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n<t.length;n++){var r=t[n];for(var i in e)e[i]+=r[i]}for(var o in e)e[o]/=t.length;return e}function ut(t){if(!t.length)return null;var e=ct(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),i=Math.max(e[0].pageX,e[1].pageX),o=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}}function pt(t,e){var n=e+\"X\",r=e+\"Y\",i=ct(t),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return Q(o,a)}function ft(t,e){var n=e+\"X\",r=e+\"Y\",i=ct(t),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r];return 180*Math.atan2(a,o)/Math.PI}function dt(t){return w.string(t.pointerType)?t.pointerType:w.number(t.pointerType)?[void 0,void 0,\"touch\",\"pen\",\"mouse\"][t.pointerType]:/touch/.test(t.type||\"\")||t instanceof k.Touch?\"touch\":\"mouse\"}function ht(t){var e=w.func(t.composedPath)?t.composedPath():t.path;return[X(e?e[0]:t.target),X(t.currentTarget)]}var vt=function(){function t(e){r(this,t),this.immediatePropagationStopped=!1,this.propagationStopped=!1,this._interaction=e}return o(t,[{key:\"preventDefault\",value:function(){}},{key:\"stopPropagation\",value:function(){this.propagationStopped=!0}},{key:\"stopImmediatePropagation\",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}}]),t}();Object.defineProperty(vt.prototype,\"interaction\",{get:function(){return this._interaction._proxy},set:function(){}});var gt=function(t,e){for(var n=0;n<e.length;n++){var r=e[n];t.push(r)}return t},mt=function(t){return gt([],t)},yt=function(t,e){for(var n=0;n<t.length;n++)if(e(t[n],n,t))return n;return-1},bt=function(t,e){return t[yt(t,e)]},xt=function(t){s(n,t);var e=p(n);function n(t,i,o){var a;r(this,n),(a=e.call(this,i._interaction)).dropzone=void 0,a.dragEvent=void 0,a.relatedTarget=void 0,a.draggable=void 0,a.propagationStopped=!1,a.immediatePropagationStopped=!1;var s=\"dragleave\"===o?t.prev:t.cur,c=s.element,l=s.dropzone;return a.type=o,a.target=c,a.currentTarget=c,a.dropzone=l,a.dragEvent=i,a.relatedTarget=i.target,a.draggable=i.interactable,a.timeStamp=i.timeStamp,a}return o(n,[{key:\"reject\",value:function(){var t=this,e=this._interaction.dropState;if(\"dropactivate\"===this.type||this.dropzone&&e.cur.dropzone===this.dropzone&&e.cur.element===this.target)if(e.prev.dropzone=this.dropzone,e.prev.element=this.target,e.rejected=!0,e.events.enter=null,this.stopImmediatePropagation(),\"dropactivate\"===this.type){var r=e.activeDrops,i=yt(r,(function(e){var n=e.dropzone,r=e.element;return n===t.dropzone&&r===t.target}));e.activeDrops.splice(i,1);var o=new n(e,this.dragEvent,\"dropdeactivate\");o.dropzone=this.dropzone,o.target=this.target,this.dropzone.fire(o)}else this.dropzone.fire(new n(e,this.dragEvent,\"dragleave\"))}},{key:\"preventDefault\",value:function(){}},{key:\"stopPropagation\",value:function(){this.propagationStopped=!0}},{key:\"stopImmediatePropagation\",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}}]),n}(vt);function wt(t,e){for(var n=0,r=t.slice();n<r.length;n++){var i=r[n],o=i.dropzone,a=i.element;e.dropzone=o,e.target=a,o.fire(e),e.propagationStopped=e.immediatePropagationStopped=!1}}function Et(t,e){for(var n=function(t,e){for(var n=[],r=0,i=t.interactables.list;r<i.length;r++){var o=i[r];if(o.options.drop.enabled){var a=o.options.drop.accept;if(!(w.element(a)&&a!==e||w.string(a)&&!R(e,a)||w.func(a)&&!a({dropzone:o,draggableElement:e})))for(var s=0,c=o.getAllElements();s<c.length;s++){var l=c[s];l!==e&&n.push({dropzone:o,element:l,rect:o.getRect(l)})}}}return n}(t,e),r=0;r<n.length;r++){var i=n[r];i.rect=i.dropzone.getRect(i.element)}return n}function Tt(t,e,n){for(var r=t.dropState,i=t.interactable,o=t.element,a=[],s=0,c=r.activeDrops;s<c.length;s++){var l=c[s],u=l.dropzone,p=l.element,f=l.rect,d=u.dropCheck(e,n,i,o,p,f);a.push(d?p:null)}var h=function(t){for(var e,n,r,i=[],o=0;o<t.length;o++){var a=t[o],s=t[e];if(a&&o!==e)if(s){var c=C(a),l=C(s);if(c!==a.ownerDocument)if(l!==a.ownerDocument)if(c!==l){i=i.length?i:j(s);var u=void 0;if(s instanceof k.HTMLElement&&a instanceof k.SVGElement&&!(a instanceof k.SVGSVGElement)){if(a===l)continue;u=a.ownerSVGElement}else u=a;for(var p=j(u,s.ownerDocument),f=0;p[f]&&p[f]===i[f];)f++;var d=[p[f-1],p[f],i[f]];if(d[0])for(var h=d[0].lastChild;h;){if(h===d[1]){e=o,i=p;break}if(h===d[2])break;h=h.previousSibling}}else r=s,void 0,void 0,(parseInt(y(n=a).getComputedStyle(n).zIndex,10)||0)>=(parseInt(y(r).getComputedStyle(r).zIndex,10)||0)&&(e=o);else e=o}else e=o}return e}(a);return r.activeDrops[h]||null}function St(t,e,n){var r=t.dropState,i={enter:null,leave:null,activate:null,deactivate:null,move:null,drop:null};return\"dragstart\"===n.type&&(i.activate=new xt(r,n,\"dropactivate\"),i.activate.target=null,i.activate.dropzone=null),\"dragend\"===n.type&&(i.deactivate=new xt(r,n,\"dropdeactivate\"),i.deactivate.target=null,i.deactivate.dropzone=null),r.rejected||(r.cur.element!==r.prev.element&&(r.prev.dropzone&&(i.leave=new xt(r,n,\"dragleave\"),n.dragLeave=i.leave.target=r.prev.element,n.prevDropzone=i.leave.dropzone=r.prev.dropzone),r.cur.dropzone&&(i.enter=new xt(r,n,\"dragenter\"),n.dragEnter=r.cur.element,n.dropzone=r.cur.dropzone)),\"dragend\"===n.type&&r.cur.dropzone&&(i.drop=new xt(r,n,\"drop\"),n.dropzone=r.cur.dropzone,n.relatedTarget=r.cur.element),\"dragmove\"===n.type&&r.cur.dropzone&&(i.move=new xt(r,n,\"dropmove\"),n.dropzone=r.cur.dropzone)),i}function _t(t,e){var n=t.dropState,r=n.activeDrops,i=n.cur,o=n.prev;e.leave&&o.dropzone.fire(e.leave),e.enter&&i.dropzone.fire(e.enter),e.move&&i.dropzone.fire(e.move),e.drop&&i.dropzone.fire(e.drop),e.deactivate&&wt(r,e.deactivate),n.prev.dropzone=i.dropzone,n.prev.element=i.element}function Pt(t,e){var n=t.interaction,r=t.iEvent,i=t.event;if(\"dragmove\"===r.type||\"dragend\"===r.type){var o=n.dropState;e.dynamicDrop&&(o.activeDrops=Et(e,n.element));var a=r,s=Tt(n,a,i);o.rejected=o.rejected&&!!s&&s.dropzone===o.cur.dropzone&&s.element===o.cur.element,o.cur.dropzone=s&&s.dropzone,o.cur.element=s&&s.element,o.events=St(n,0,a)}}var Ot={id:\"actions/drop\",install:function(t){var e=t.actions,n=t.interactStatic,r=t.Interactable,i=t.defaults;t.usePlugin(_),r.prototype.dropzone=function(t){return function(t,e){if(w.object(e)){if(t.options.drop.enabled=!1!==e.enabled,e.listeners){var n=$(e.listeners),r=Object.keys(n).reduce((function(t,e){return t[/^(enter|leave)/.test(e)?\"drag\".concat(e):/^(activate|deactivate|move)/.test(e)?\"drop\".concat(e):e]=n[e],t}),{}),i=t.options.drop.listeners;i&&t.off(i),t.on(r),t.options.drop.listeners=r}return w.func(e.ondrop)&&t.on(\"drop\",e.ondrop),w.func(e.ondropactivate)&&t.on(\"dropactivate\",e.ondropactivate),w.func(e.ondropdeactivate)&&t.on(\"dropdeactivate\",e.ondropdeactivate),w.func(e.ondragenter)&&t.on(\"dragenter\",e.ondragenter),w.func(e.ondragleave)&&t.on(\"dragleave\",e.ondragleave),w.func(e.ondropmove)&&t.on(\"dropmove\",e.ondropmove),/^(pointer|center)$/.test(e.overlap)?t.options.drop.overlap=e.overlap:w.number(e.overlap)&&(t.options.drop.overlap=Math.max(Math.min(1,e.overlap),0)),\"accept\"in e&&(t.options.drop.accept=e.accept),\"checker\"in e&&(t.options.drop.checker=e.checker),t}if(w.bool(e))return t.options.drop.enabled=e,t;return t.options.drop}(this,t)},r.prototype.dropCheck=function(t,e,n,r,i,o){return function(t,e,n,r,i,o,a){var s=!1;if(!(a=a||t.getRect(o)))return!!t.options.drop.checker&&t.options.drop.checker(e,n,s,t,o,r,i);var c=t.options.drop.overlap;if(\"pointer\"===c){var l=K(r,i,\"drag\"),u=ot(e);u.x+=l.x,u.y+=l.y;var p=u.x>a.left&&u.x<a.right,f=u.y>a.top&&u.y<a.bottom;s=p&&f}var d=r.getRect(i);if(d&&\"center\"===c){var h=d.left+d.width/2,v=d.top+d.height/2;s=h>=a.left&&h<=a.right&&v>=a.top&&v<=a.bottom}if(d&&w.number(c)){s=Math.max(0,Math.min(a.right,d.right)-Math.max(a.left,d.left))*Math.max(0,Math.min(a.bottom,d.bottom)-Math.max(a.top,d.top))/(d.width*d.height)>=c}t.options.drop.checker&&(s=t.options.drop.checker(e,n,s,t,o,r,i));return s}(this,t,e,n,r,i,o)},n.dynamicDrop=function(e){return w.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},V(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop=\"dropzone\",t.dynamicDrop=!1,i.actions.drop=Ot.defaults},listeners:{\"interactions:before-action-start\":function(t){var e=t.interaction;\"drag\"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},\"interactions:after-action-start\":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if(\"drag\"===n.prepared.name){var i=n.dropState;i.activeDrops=[],i.events={},i.activeDrops=Et(e,n.element),i.events=St(n,0,r),i.events.activate&&(wt(i.activeDrops,i.events.activate),e.fire(\"actions/drop:start\",{interaction:n,dragEvent:r}))}},\"interactions:action-move\":Pt,\"interactions:after-action-move\":function(t,e){var n=t.interaction,r=t.iEvent;if(\"drag\"===n.prepared.name){var i=n.dropState;_t(n,i.events),e.fire(\"actions/drop:move\",{interaction:n,dragEvent:r}),i.events={}}},\"interactions:action-end\":function(t,e){if(\"drag\"===t.interaction.prepared.name){var n=t.interaction,r=t.iEvent;Pt(t,e),_t(n,n.dropState.events),e.fire(\"actions/drop:end\",{interaction:n,dragEvent:r})}},\"interactions:stop\":function(t){var e=t.interaction;if(\"drag\"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:Et,getDrop:Tt,getDropEvents:St,fireDropEvents:_t,filterEventType:function(t){return 0===t.search(\"drag\")||0===t.search(\"drop\")},defaults:{enabled:!1,accept:null,overlap:\"pointer\"}},kt=Ot;function Dt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if(\"gesture\"===e.prepared.name){var i=e.pointers.map((function(t){return t.pointer})),o=\"start\"===r,a=\"end\"===r,s=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],o)n.distance=pt(i,s),n.box=ut(i),n.scale=1,n.ds=0,n.angle=ft(i,s),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(a||e.pointers.length<2){var c=e.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=pt(i,s),n.box=ut(i),n.scale=n.distance/e.gesture.startDistance,n.angle=ft(i,s),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,w.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}var It={id:\"actions/gesture\",before:[\"actions/drag\",\"actions/resize\"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return w.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction(\"gesture\",t),this.setOnEvents(\"gesture\",t),this):w.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=It,e.methodDict.gesture=\"gesturable\",r.actions.gesture=It.defaults},listeners:{\"interactions:action-start\":Dt,\"interactions:action-move\":Dt,\"interactions:action-end\":Dt,\"interactions:new\":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},\"auto-start:check\":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:\"gesture\"},!1}}},defaults:{},getCursor:function(){return\"\"},filterEventType:function(t){return 0===t.search(\"gesture\")}},Mt=It;function zt(t,e,n,r,i,o,a){if(!e)return!1;if(!0===e){var s=w.number(o.width)?o.width:o.right-o.left,c=w.number(o.height)?o.height:o.bottom-o.top;if(a=Math.min(a,Math.abs((\"left\"===t||\"right\"===t?s:c)/2)),s<0&&(\"left\"===t?t=\"right\":\"right\"===t&&(t=\"left\")),c<0&&(\"top\"===t?t=\"bottom\":\"bottom\"===t&&(t=\"top\")),\"left\"===t){var l=s>=0?o.left:o.right;return n.x<l+a}if(\"top\"===t){var u=c>=0?o.top:o.bottom;return n.y<u+a}if(\"right\"===t)return n.x>(s>=0?o.right:o.left)-a;if(\"bottom\"===t)return n.y>(c>=0?o.bottom:o.top)-a}return!!w.element(r)&&(w.element(e)?e===r:F(r,e,i))}function At(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?(\"y\"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes=\"xy\"):(r.axes=n.resizeAxes,\"x\"===n.resizeAxes?r.delta.y=0:\"y\"===n.resizeAxes&&(r.delta.x=0))}}var Rt,Ct,jt={id:\"actions/resize\",before:[\"actions/drag\"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;jt.cursors=function(t){return t.isIe9?{x:\"e-resize\",y:\"s-resize\",xy:\"se-resize\",top:\"n-resize\",left:\"w-resize\",bottom:\"s-resize\",right:\"e-resize\",topleft:\"se-resize\",bottomright:\"se-resize\",topright:\"ne-resize\",bottomleft:\"ne-resize\"}:{x:\"ew-resize\",y:\"ns-resize\",xy:\"nwse-resize\",top:\"ns-resize\",left:\"ew-resize\",bottom:\"ns-resize\",right:\"ew-resize\",topleft:\"nwse-resize\",bottomright:\"nwse-resize\",topright:\"nesw-resize\",bottomleft:\"nesw-resize\"}}(n),jt.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(w.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction(\"resize\",e),t.setOnEvents(\"resize\",e),w.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),w.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:w.bool(e.square)&&(t.options.resize.square=e.square),t;if(w.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=jt,e.methodDict.resize=\"resizable\",i.actions.resize=jt.defaults},listeners:{\"interactions:new\":function(t){t.interaction.resizeAxes=\"xy\"},\"interactions:action-start\":function(t){!function(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.prepared.edges){var r=e,i=n.rect;n._rects={start:V({},i),corrected:V({},i),previous:V({},i),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),At(t)},\"interactions:action-move\":function(t){!function(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.prepared.edges){var r=e,i=n.interactable.options.resize.invert,o=\"reposition\"===i||\"negate\"===i,a=n.rect,s=n._rects,c=s.start,l=s.corrected,u=s.delta,p=s.previous;if(V(p,l),o){if(V(l,a),\"reposition\"===i){if(l.top>l.bottom){var f=l.top;l.top=l.bottom,l.bottom=f}if(l.left>l.right){var d=l.left;l.left=l.right,l.right=d}}}else l.top=Math.min(a.top,c.bottom),l.bottom=Math.max(a.bottom,c.top),l.left=Math.min(a.left,c.right),l.right=Math.max(a.right,c.left);for(var h in l.width=l.right-l.left,l.height=l.bottom-l.top,l)u[h]=l[h]-p[h];r.edges=n.prepared.edges,r.rect=l,r.deltaRect=u}}(t),At(t)},\"interactions:action-end\":function(t){var e=t.iEvent,n=t.interaction;if(\"resize\"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},\"auto-start:check\":function(t){var e=t.interaction,n=t.interactable,r=t.element,i=t.rect,o=t.buttons;if(i){var a=V({},e.coords.cur.page),s=n.options.resize;if(s&&s.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(o&s.mouseButtons))){if(w.object(s.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var l in c)c[l]=zt(l,s.edges[l],a,e._latestPointer.eventTarget,r,i,s.margin||jt.defaultMargin);c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,(c.left||c.right||c.top||c.bottom)&&(t.action={name:\"resize\",edges:c})}else{var u=\"y\"!==s.axis&&a.x>i.right-jt.defaultMargin,p=\"x\"!==s.axis&&a.y>i.bottom-jt.defaultMargin;(u||p)&&(t.action={name:\"resize\",axes:(u?\"x\":\"\")+(p?\"y\":\"\")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:\"xy\",margin:NaN,edges:null,invert:\"none\"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,i=jt.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a=\"\",s=0,c=[\"top\",\"bottom\",\"left\",\"right\"];s<c.length;s++){var l=c[s];e[l]&&(a+=l)}o=i[a]}return o},filterEventType:function(t){return 0===t.search(\"resize\")},defaultMargin:null},Ft=jt,Xt={id:\"actions\",install:function(t){t.usePlugin(Mt),t.usePlugin(Ft),t.usePlugin(_),t.usePlugin(kt)}},Yt=0;var Lt={request:function(t){return Rt(t)},cancel:function(t){return Ct(t)},init:function(t){if(Rt=t.requestAnimationFrame,Ct=t.cancelAnimationFrame,!Rt)for(var e=[\"ms\",\"moz\",\"webkit\",\"o\"],n=0;n<e.length;n++){var r=e[n];Rt=t[\"\".concat(r,\"RequestAnimationFrame\")],Ct=t[\"\".concat(r,\"CancelAnimationFrame\")]||t[\"\".concat(r,\"CancelRequestAnimationFrame\")]}Rt=Rt&&Rt.bind(t),Ct=Ct&&Ct.bind(t),Rt||(Rt=function(e){var n=Date.now(),r=Math.max(0,16-(n-Yt)),i=t.setTimeout((function(){e(n+r)}),r);return Yt=n+r,i},Ct=function(t){return clearTimeout(t)})}};var qt={defaults:{enabled:!1,margin:60,container:null,speed:300},now:Date.now,interaction:null,i:0,x:0,y:0,isScrolling:!1,prevTime:0,margin:0,speed:0,start:function(t){qt.isScrolling=!0,Lt.cancel(qt.i),t.autoScroll=qt,qt.interaction=t,qt.prevTime=qt.now(),qt.i=Lt.request(qt.scroll)},stop:function(){qt.isScrolling=!1,qt.interaction&&(qt.interaction.autoScroll=null),Lt.cancel(qt.i)},scroll:function(){var t=qt.interaction,e=t.interactable,n=t.element,r=t.prepared.name,i=e.options[r].autoScroll,o=Bt(i.container,e,n),a=qt.now(),s=(a-qt.prevTime)/1e3,c=i.speed*s;if(c>=1){var l={x:qt.x*c,y:qt.y*c};if(l.x||l.y){var u=Vt(o);w.window(o)?o.scrollBy(l.x,l.y):o&&(o.scrollLeft+=l.x,o.scrollTop+=l.y);var p=Vt(o),f={x:p.x-u.x,y:p.y-u.y};(f.x||f.y)&&e.fire({type:\"autoscroll\",target:n,interactable:e,delta:f,interaction:t,container:o})}qt.prevTime=a}qt.isScrolling&&(Lt.cancel(qt.i),qt.i=Lt.request(qt.scroll))},check:function(t,e){var n;return null==(n=t.options[e].autoScroll)?void 0:n.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&qt.check(e.interactable,e.prepared.name))if(e.simulation)qt.x=qt.y=0;else{var r,i,o,a,s=e.interactable,c=e.element,l=e.prepared.name,u=s.options[l].autoScroll,p=Bt(u.container,s,c);if(w.window(p))a=n.clientX<qt.margin,r=n.clientY<qt.margin,i=n.clientX>p.innerWidth-qt.margin,o=n.clientY>p.innerHeight-qt.margin;else{var f=Y(p);a=n.clientX<f.left+qt.margin,r=n.clientY<f.top+qt.margin,i=n.clientX>f.right-qt.margin,o=n.clientY>f.bottom-qt.margin}qt.x=i?1:a?-1:0,qt.y=o?1:r?-1:0,qt.isScrolling||(qt.margin=u.margin,qt.speed=u.speed,qt.start(e))}}};function Bt(t,e,n){return(w.string(t)?W(t,e,n):t)||y(n)}function Vt(t){return w.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Wt={id:\"auto-scroll\",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=qt,qt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=qt.defaults},listeners:{\"interactions:new\":function(t){t.interaction.autoScroll=null},\"interactions:destroy\":function(t){t.interaction.autoScroll=null,qt.stop(),qt.interaction&&(qt.interaction=null)},\"interactions:stop\":qt.stop,\"interactions:action-move\":function(t){return qt.onInteractionMove(t)}}},Gt=Wt;function Nt(t,e){var n=!1;return function(){return n||(g.console.warn(e),n=!0),t.apply(this,arguments)}}function Ut(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t}function Ht(t){return w.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Kt(t){return w.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}var $t={id:\"auto-start/interactableMethods\",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,i){var o=function(t,e,n,r,i){var o=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:o,buttons:a};return i.fire(\"auto-start:check\",s),s.action}(this,n,r,i,t);return this.options.actionChecker?this.options.actionChecker(e,n,o,this,i,r):o},e.prototype.ignoreFrom=Nt((function(t){return this._backCompatOption(\"ignoreFrom\",t)}),\"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).\"),e.prototype.allowFrom=Nt((function(t){return this._backCompatOption(\"allowFrom\",t)}),\"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).\"),e.prototype.actionChecker=Kt,e.prototype.styleCursor=Ht}};function Jt(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&ee(e,n,t,i)?t:null}function Qt(t,e,n,r,i,o,a){for(var s=0,c=r.length;s<c;s++){var l=r[s],u=i[s],p=l.getAction(e,n,t,u);if(p){var f=Jt(p,l,u,o,a);if(f)return{action:f,interactable:l,element:u}}}return{action:null,interactable:null,element:null}}function Zt(t,e,n,r,i){var o=[],a=[],s=r;function c(t){o.push(t),a.push(s)}for(;w.element(s);){o=[],a=[],i.interactables.forEachMatch(s,c);var l=Qt(t,e,n,o,a,r,i);if(l.action&&!l.interactable.options[l.action.name].manualStart)return l;s=A(s)}return{action:null,interactable:null,element:null}}function te(t,e,n){var r=e.action,i=e.interactable,o=e.element;r=r||{name:null},t.interactable=i,t.element=o,Ut(t.prepared,r),t.rect=i&&r.name?i.getRect(o):null,ie(t,n),n.fire(\"autoStart:prepared\",{interaction:t})}function ee(t,e,n,r){var i=t.options,o=i[n.name].max,a=i[n.name].maxPerElement,s=r.autoStart.maxInteractions,c=0,l=0,u=0;if(!(o&&a&&s))return!1;for(var p=0,f=r.interactions.list;p<f.length;p++){var d=f[p],h=d.prepared.name;if(d.interacting()){if(++c>=s)return!1;if(d.interactable===t){if((l+=h===n.name?1:0)>=o)return!1;if(d.element===e&&(u++,h===n.name&&u>=a))return!1}}}return s>0}function ne(t,e){return w.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function re(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=\"\"),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function ie(t,e){var n=t.interactable,r=t.element,i=t.prepared;if(\"mouse\"===t.pointerType&&n&&n.options.styleCursor){var o=\"\";if(i.name){var a=n.options[i.name].cursorChecker;o=w.func(a)?a(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}re(t.element,o||\"\",e)}else e.autoStart.cursorElement&&re(e.autoStart.cursorElement,\"\",e)}var oe={id:\"auto-start/base\",before:[\"actions\"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin($t),n.base.actionChecker=null,n.base.styleCursor=!0,V(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return ne(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:ee,cursorElement:null}},listeners:{\"interactions:down\":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||te(n,Zt(n,r,i,o,e),e)},\"interactions:move\":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;\"mouse\"!==n.pointerType||n.pointerIsDown||n.interacting()||te(n,Zt(n,r,i,o,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire(\"autoStart:before-start\",t);var r=n.interactable,i=n.prepared.name;i&&r&&(r.options[i].manualStart||!ee(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),ie(n,e)))}}(t,e)},\"interactions:stop\":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&re(n.element,\"\",e)}},maxInteractions:ne,withinInteractionLimit:ee,validateAction:Jt},ae=oe;var se={id:\"auto-start/dragAxis\",listeners:{\"autoStart:before-start\":function(t,e){var n=t.interaction,r=t.eventTarget,i=t.dx,o=t.dy;if(\"drag\"===n.prepared.name){var a=Math.abs(i),s=Math.abs(o),c=n.interactable.options.drag,l=c.startAxis,u=a>s?\"x\":a<s?\"y\":\"xy\";if(n.prepared.axis=\"start\"===c.lockAxis?u[0]:c.lockAxis,\"xy\"!==u&&\"xy\"!==l&&l!==u){n.prepared.name=null;for(var p=r,f=function(t){if(t!==n.interactable){var i=n.interactable.options.drag;if(!i.manualStart&&t.testIgnoreAllow(i,p,r)){var o=t.getAction(n.downPointer,n.downEvent,n,p);if(o&&\"drag\"===o.name&&function(t,e){if(!e)return!1;var n=e.options.drag.startAxis;return\"xy\"===t||\"xy\"===n||n===t}(u,t)&&ae.validateAction(o,t,p,r,e))return t}}};w.element(p);){var d=e.interactables.forEachMatch(p,f);if(d){n.prepared.name=\"drag\",n.interactable=d,n.element=p;break}p=A(p)}}}}}};function ce(t){var e=t.prepared&&t.prepared.name;if(!e)return null;var n=t.interactable.options;return n[e].hold||n[e].delay}var le={id:\"auto-start/hold\",install:function(t){var e=t.defaults;t.usePlugin(ae),e.perAction.hold=0,e.perAction.delay=0},listeners:{\"interactions:new\":function(t){t.interaction.autoStartHoldTimer=null},\"autoStart:prepared\":function(t){var e=t.interaction,n=ce(e);n>0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},\"interactions:move\":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},\"autoStart:before-start\":function(t){var e=t.interaction;ce(e)>0&&(e.prepared.name=null)}},getHoldDuration:ce},ue=le,pe={id:\"auto-start\",install:function(t){t.usePlugin(ae),t.usePlugin(ue),t.usePlugin(se)}},fe=function(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):w.bool(t)?(this.options.preventDefault=t?\"always\":\"never\",this):this.options.preventDefault};function de(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}var he={id:\"core/interactablePreventDefault\",install:function(t){var e=t.Interactable;e.prototype.preventDefault=fe,e.prototype.checkAndPreventDefault=function(e){return function(t,e,n){var r=t.options.preventDefault;if(\"never\"!==r)if(\"always\"!==r){if(e.events.supportsPassive&&/^touch(start|move)$/.test(n.type)){var i=y(n.target).document,o=e.getDocOptions(i);if(!o||!o.events||!1!==o.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(n.type)||w.element(n.target)&&R(n.target,\"input,select,textarea,[contenteditable=true],[contenteditable=true] *\")||n.preventDefault()}else n.preventDefault()}(this,t,e)},t.interactions.docEvents.push({type:\"dragstart\",listener:function(e){for(var n=0,r=t.interactions.list;n<r.length;n++){var i=r[n];if(i.element&&(i.element===e.target||M(i.element,e.target)))return void i.interactable.checkAndPreventDefault(e)}}})},listeners:[\"down\",\"move\",\"up\",\"cancel\"].reduce((function(t,e){return t[\"interactions:\".concat(e)]=de,t}),{})};function ve(t,e){if(e.phaselessTypes[t])return!0;for(var n in e.map)if(0===t.indexOf(n)&&t.substr(n.length)in e.phases)return!0;return!1}function ge(t){var e={};for(var n in t){var r=t[n];w.plainObject(r)?e[n]=ge(r):w.array(r)?e[n]=mt(r):e[n]=r}return e}var me=function(){function t(e){r(this,t),this.states=[],this.startOffset={left:0,right:0,top:0,bottom:0},this.startDelta=void 0,this.result=void 0,this.endResult=void 0,this.startEdges=void 0,this.edges=void 0,this.interaction=void 0,this.interaction=e,this.result=ye(),this.edges={left:!1,right:!1,top:!1,bottom:!1}}return o(t,[{key:\"start\",value:function(t,e){var n,r,i=t.phase,o=this.interaction,a=function(t){var e=t.interactable.options[t.prepared.name],n=e.modifiers;if(n&&n.length)return n;return[\"snap\",\"snapSize\",\"snapEdges\",\"restrict\",\"restrictEdges\",\"restrictSize\"].map((function(t){var n=e[t];return n&&n.enabled&&{options:n,methods:n._methods}})).filter((function(t){return!!t}))}(o);this.prepareStates(a),this.startEdges=V({},o.edges),this.edges=V({},this.startEdges),this.startOffset=(n=o.rect,r=e,n?{left:r.x-n.left,top:r.y-n.top,right:n.right-r.x,bottom:n.bottom-r.y}:{left:0,top:0,right:0,bottom:0}),this.startDelta={x:0,y:0};var s=this.fillArg({phase:i,pageCoords:e,preEnd:!1});return this.result=ye(),this.startAll(s),this.result=this.setAll(s)}},{key:\"fillArg\",value:function(t){var e=this.interaction;return t.interaction=e,t.interactable=e.interactable,t.element=e.element,t.rect||(t.rect=e.rect),t.edges||(t.edges=this.startEdges),t.startOffset=this.startOffset,t}},{key:\"startAll\",value:function(t){for(var e=0,n=this.states;e<n.length;e++){var r=n[e];r.methods.start&&(t.state=r,r.methods.start(t))}}},{key:\"setAll\",value:function(t){var e=t.phase,n=t.preEnd,r=t.skipModifiers,i=t.rect,o=t.edges;t.coords=V({},t.pageCoords),t.rect=V({},i),t.edges=V({},o);for(var a=r?this.states.slice(r):this.states,s=ye(t.coords,t.rect),c=0;c<a.length;c++){var l,u=a[c],p=u.options,f=V({},t.coords),d=null;null!=(l=u.methods)&&l.set&&this.shouldDo(p,n,e)&&(t.state=u,d=u.methods.set(t),H(t.edges,t.rect,{x:t.coords.x-f.x,y:t.coords.y-f.y})),s.eventProps.push(d)}V(this.edges,t.edges),s.delta.x=t.coords.x-t.pageCoords.x,s.delta.y=t.coords.y-t.pageCoords.y,s.rectDelta.left=t.rect.left-i.left,s.rectDelta.right=t.rect.right-i.right,s.rectDelta.top=t.rect.top-i.top,s.rectDelta.bottom=t.rect.bottom-i.bottom;var h=this.result.coords,v=this.result.rect;if(h&&v){var g=s.rect.left!==v.left||s.rect.right!==v.right||s.rect.top!==v.top||s.rect.bottom!==v.bottom;s.changed=g||h.x!==s.coords.x||h.y!==s.coords.y}return s}},{key:\"applyToInteraction\",value:function(t){var e=this.interaction,n=t.phase,r=e.coords.cur,i=e.coords.start,o=this.result,a=this.startDelta,s=o.delta;\"start\"===n&&V(this.startDelta,o.delta);for(var c=0,l=[[i,a],[r,s]];c<l.length;c++){var u=l[c],p=u[0],f=u[1];p.page.x+=f.x,p.page.y+=f.y,p.client.x+=f.x,p.client.y+=f.y}var d=this.result.rectDelta,h=t.rect||e.rect;h.left+=d.left,h.right+=d.right,h.top+=d.top,h.bottom+=d.bottom,h.width=h.right-h.left,h.height=h.bottom-h.top}},{key:\"setAndApply\",value:function(t){var e=this.interaction,n=t.phase,r=t.preEnd,i=t.skipModifiers,o=this.setAll(this.fillArg({preEnd:r,phase:n,pageCoords:t.modifiedCoords||e.coords.cur.page}));if(this.result=o,!o.changed&&(!i||i<this.states.length)&&e.interacting())return!1;if(t.modifiedCoords){var a=e.coords.cur.page,s={x:t.modifiedCoords.x-a.x,y:t.modifiedCoords.y-a.y};o.coords.x+=s.x,o.coords.y+=s.y,o.delta.x+=s.x,o.delta.y+=s.y}this.applyToInteraction(t)}},{key:\"beforeEnd\",value:function(t){var e=t.interaction,n=t.event,r=this.states;if(r&&r.length){for(var i=!1,o=0;o<r.length;o++){var a=r[o];t.state=a;var s=a.options,c=a.methods,l=c.beforeEnd&&c.beforeEnd(t);if(l)return this.endResult=l,!1;i=i||!i&&this.shouldDo(s,!0,t.phase,!0)}i&&e.move({event:n,preEnd:!0})}}},{key:\"stop\",value:function(t){var e=t.interaction;if(this.states&&this.states.length){var n=V({states:this.states,interactable:e.interactable,element:e.element,rect:null},t);this.fillArg(n);for(var r=0,i=this.states;r<i.length;r++){var o=i[r];n.state=o,o.methods.stop&&o.methods.stop(n)}this.states=null,this.endResult=null}}},{key:\"prepareStates\",value:function(t){this.states=[];for(var e=0;e<t.length;e++){var n=t[e],r=n.options,i=n.methods,o=n.name;this.states.push({options:r,methods:i,index:e,name:o})}return this.states}},{key:\"restoreInteractionCoords\",value:function(t){var e=t.interaction,n=e.coords,r=e.rect,i=e.modification;if(i.result){for(var o=i.startDelta,a=i.result,s=a.delta,c=a.rectDelta,l=0,u=[[n.start,o],[n.cur,s]];l<u.length;l++){var p=u[l],f=p[0],d=p[1];f.page.x-=d.x,f.page.y-=d.y,f.client.x-=d.x,f.client.y-=d.y}r.left-=c.left,r.right-=c.right,r.top-=c.top,r.bottom-=c.bottom}}},{key:\"shouldDo\",value:function(t,e,n,r){return!(!t||!1===t.enabled||r&&!t.endOnly||t.endOnly&&!e||\"start\"===n&&!t.setStart)}},{key:\"copyFrom\",value:function(t){this.startOffset=t.startOffset,this.startDelta=t.startDelta,this.startEdges=t.startEdges,this.edges=t.edges,this.states=t.states.map((function(t){return ge(t)})),this.result=ye(V({},t.result.coords),V({},t.result.rect))}},{key:\"destroy\",value:function(){for(var t in this)this[t]=null}}]),t}();function ye(t,e){return{rect:e,coords:t,delta:{x:0,y:0},rectDelta:{left:0,right:0,top:0,bottom:0},eventProps:[],changed:!0}}function be(t,e){var n=t.defaults,r={start:t.start,set:t.set,beforeEnd:t.beforeEnd,stop:t.stop},i=function(t){var i=t||{};for(var o in i.enabled=!1!==i.enabled,n)o in i||(i[o]=n[o]);var a={options:i,methods:r,name:e,enable:function(){return i.enabled=!0,a},disable:function(){return i.enabled=!1,a}};return a};return e&&\"string\"==typeof e&&(i._defaults=n,i._methods=r),i}function xe(t){var e=t.iEvent,n=t.interaction.modification.result;n&&(e.modifiers=n.eventProps)}var we={id:\"modifiers/base\",before:[\"actions\"],install:function(t){t.defaults.perAction.modifiers=[]},listeners:{\"interactions:new\":function(t){var e=t.interaction;e.modification=new me(e)},\"interactions:before-action-start\":function(t){var e=t.interaction,n=t.interaction.modification;n.start(t,e.coords.start.page),e.edges=n.edges,n.applyToInteraction(t)},\"interactions:before-action-move\":function(t){var e=t.interaction,n=e.modification,r=n.setAndApply(t);return e.edges=n.edges,r},\"interactions:before-action-end\":function(t){var e=t.interaction,n=e.modification,r=n.beforeEnd(t);return e.edges=n.startEdges,r},\"interactions:action-start\":xe,\"interactions:action-move\":xe,\"interactions:action-end\":xe,\"interactions:after-action-start\":function(t){return t.interaction.modification.restoreInteractionCoords(t)},\"interactions:after-action-move\":function(t){return t.interaction.modification.restoreInteractionCoords(t)},\"interactions:stop\":function(t){return t.interaction.modification.stop(t)}}},Ee=we,Te={base:{preventDefault:\"auto\",deltaSource:\"page\"},perAction:{enabled:!1,origin:{x:0,y:0}},actions:{}},Se=function(t){s(n,t);var e=p(n);function n(t,i,o,a,s,c,l){var p;r(this,n),(p=e.call(this,t)).relatedTarget=null,p.screenX=void 0,p.screenY=void 0,p.button=void 0,p.buttons=void 0,p.ctrlKey=void 0,p.shiftKey=void 0,p.altKey=void 0,p.metaKey=void 0,p.page=void 0,p.client=void 0,p.delta=void 0,p.rect=void 0,p.x0=void 0,p.y0=void 0,p.t0=void 0,p.dt=void 0,p.duration=void 0,p.clientX0=void 0,p.clientY0=void 0,p.velocity=void 0,p.speed=void 0,p.swipe=void 0,p.axes=void 0,p.preEnd=void 0,s=s||t.element;var f=t.interactable,d=(f&&f.options||Te).deltaSource,h=K(f,s,o),v=\"start\"===a,g=\"end\"===a,m=v?u(p):t.prevEvent,y=v?t.coords.start:g?{page:m.page,client:m.client,timeStamp:t.coords.cur.timeStamp}:t.coords.cur;return p.page=V({},y.page),p.client=V({},y.client),p.rect=V({},t.rect),p.timeStamp=y.timeStamp,g||(p.page.x-=h.x,p.page.y-=h.y,p.client.x-=h.x,p.client.y-=h.y),p.ctrlKey=i.ctrlKey,p.altKey=i.altKey,p.shiftKey=i.shiftKey,p.metaKey=i.metaKey,p.button=i.button,p.buttons=i.buttons,p.target=s,p.currentTarget=s,p.preEnd=c,p.type=l||o+(a||\"\"),p.interactable=f,p.t0=v?t.pointers[t.pointers.length-1].downTime:m.t0,p.x0=t.coords.start.page.x-h.x,p.y0=t.coords.start.page.y-h.y,p.clientX0=t.coords.start.client.x-h.x,p.clientY0=t.coords.start.client.y-h.y,p.delta=v||g?{x:0,y:0}:{x:p[d].x-m[d].x,y:p[d].y-m[d].y},p.dt=t.coords.delta.timeStamp,p.duration=p.timeStamp-p.t0,p.velocity=V({},t.coords.velocity[d]),p.speed=Q(p.velocity.x,p.velocity.y),p.swipe=g||\"inertiastart\"===a?p.getSwipe():null,p}return o(n,[{key:\"getSwipe\",value:function(){var t=this._interaction;if(t.prevEvent.speed<600||this.timeStamp-t.prevEvent.timeStamp>150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:\"preventDefault\",value:function(){}},{key:\"stopImmediatePropagation\",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:\"stopPropagation\",value:function(){this.propagationStopped=!0}}]),n}(vt);Object.defineProperties(Se.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var _e=o((function t(e,n,i,o,a){r(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=i,this.downTime=o,this.downTarget=a})),Pe=function(t){return t.interactable=\"\",t.element=\"\",t.prepared=\"\",t.pointerIsDown=\"\",t.pointerWasMoved=\"\",t._proxy=\"\",t}({}),Oe=function(t){return t.start=\"\",t.move=\"\",t.end=\"\",t.stop=\"\",t.interacting=\"\",t}({}),ke=0,De=function(){function t(e){var n=this,i=e.pointerType,o=e.scopeFire;r(this,t),this.interactable=null,this.element=null,this.rect=null,this._rects=void 0,this.edges=null,this._scopeFire=void 0,this.prepared={name:null,axis:null,edges:null},this.pointerType=void 0,this.pointers=[],this.downEvent=null,this.downPointer={},this._latestPointer={pointer:null,event:null,eventTarget:null},this.prevEvent=null,this.pointerIsDown=!1,this.pointerWasMoved=!1,this._interacting=!1,this._ending=!1,this._stopped=!0,this._proxy=void 0,this.simulation=null,this.doMove=Nt((function(t){this.move(t)}),\"The interaction.doMove() method has been renamed to interaction.move()\"),this.coords={start:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},prev:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},cur:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},delta:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},velocity:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},this._id=ke++,this._scopeFire=o,this.pointerType=i;var a=this;this._proxy={};var s=function(t){Object.defineProperty(n._proxy,t,{get:function(){return a[t]}})};for(var c in Pe)s(c);var l=function(t){Object.defineProperty(n._proxy,t,{value:function(){return a[t].apply(a,arguments)}})};for(var u in Oe)l(u);this._scopeFire(\"interactions:new\",{interaction:this})}return o(t,[{key:\"pointerMoveTolerance\",get:function(){return 1}},{key:\"pointerDown\",value:function(t,e,n){var r=this.updatePointer(t,e,n,!0),i=this.pointers[r];this._scopeFire(\"interactions:down\",{pointer:t,event:e,eventTarget:n,pointerIndex:r,pointerInfo:i,type:\"down\",interaction:this})}},{key:\"start\",value:function(t,e,n){return!(this.interacting()||!this.pointerIsDown||this.pointers.length<(\"gesture\"===t.name?2:1)||!e.options[t.name].enabled)&&(Ut(this.prepared,t),this.interactable=e,this.element=n,this.rect=e.getRect(n),this.edges=this.prepared.edges?V({},this.prepared.edges):{left:!0,right:!0,top:!0,bottom:!0},this._stopped=!1,this._interacting=this._doPhase({interaction:this,event:this.downEvent,phase:\"start\"})&&!this._stopped,this._interacting)}},{key:\"pointerMove\",value:function(t,e,n){this.simulation||this.modification&&this.modification.endResult||this.updatePointer(t,e,n,!1);var r,i,o=this.coords.cur.page.x===this.coords.prev.page.x&&this.coords.cur.page.y===this.coords.prev.page.y&&this.coords.cur.client.x===this.coords.prev.client.x&&this.coords.cur.client.y===this.coords.prev.client.y;this.pointerIsDown&&!this.pointerWasMoved&&(r=this.coords.cur.client.x-this.coords.start.client.x,i=this.coords.cur.client.y-this.coords.start.client.y,this.pointerWasMoved=Q(r,i)>this.pointerMoveTolerance);var a,s,c,l=this.getPointerIndex(t),u={pointer:t,pointerIndex:l,pointerInfo:this.pointers[l],event:e,type:\"move\",eventTarget:n,dx:r,dy:i,duplicate:o,interaction:this};o||(a=this.coords.velocity,s=this.coords.delta,c=Math.max(s.timeStamp/1e3,.001),a.page.x=s.page.x/c,a.page.y=s.page.y/c,a.client.x=s.client.x/c,a.client.y=s.client.y/c,a.timeStamp=c),this._scopeFire(\"interactions:move\",u),o||this.simulation||(this.interacting()&&(u.type=null,this.move(u)),this.pointerWasMoved&&et(this.coords.prev,this.coords.cur))}},{key:\"move\",value:function(t){t&&t.event||nt(this.coords.delta),(t=V({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase=\"move\",this._doPhase(t)}},{key:\"pointerUp\",value:function(t,e,n,r){var i=this.getPointerIndex(t);-1===i&&(i=this.updatePointer(t,e,n,!1));var o=/cancel$/i.test(e.type)?\"cancel\":\"up\";this._scopeFire(\"interactions:\".concat(o),{pointer:t,pointerIndex:i,pointerInfo:this.pointers[i],event:e,eventTarget:n,type:o,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}},{key:\"documentBlur\",value:function(t){this.end(t),this._scopeFire(\"interactions:blur\",{event:t,type:\"blur\",interaction:this})}},{key:\"end\",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:\"end\"})),this._ending=!1,!0===e&&this.stop()}},{key:\"currentAction\",value:function(){return this._interacting?this.prepared.name:null}},{key:\"interacting\",value:function(){return this._interacting}},{key:\"stop\",value:function(){this._scopeFire(\"interactions:stop\",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:\"getPointerIndex\",value:function(t){var e=at(t);return\"mouse\"===this.pointerType||\"pen\"===this.pointerType?this.pointers.length-1:yt(this.pointers,(function(t){return t.id===e}))}},{key:\"getPointerInfo\",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:\"updatePointer\",value:function(t,e,n,r){var i,o,a,s=at(t),c=this.getPointerIndex(t),l=this.pointers[c];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),l?l.pointer=t:(l=new _e(s,t,e,null,null),c=this.pointers.length,this.pointers.push(l)),st(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),i=this.coords.delta,o=this.coords.prev,a=this.coords.cur,i.page.x=a.page.x-o.page.x,i.page.y=a.page.y-o.page.y,i.client.x=a.client.x-o.client.x,i.client.y=a.client.y-o.client.y,i.timeStamp=a.timeStamp-o.timeStamp,r&&(this.pointerIsDown=!0,l.downTime=this.coords.cur.timeStamp,l.downTarget=n,tt(this.downPointer,t),this.interacting()||(et(this.coords.start,this.coords.cur),et(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire(\"interactions:update-pointer\",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:l,pointerIndex:c,interaction:this}),c}},{key:\"removePointer\",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire(\"interactions:remove-pointer\",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}}},{key:\"_updateLatestPointer\",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:\"destroy\",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:\"_createPreparedEvent\",value:function(t,e,n,r){return new Se(this,t,this.prepared.name,e,this.element,n,r)}},{key:\"_fireEvent\",value:function(t){var e;null==(e=this.interactable)||e.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:\"_doPhase\",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,i=t.type,o=this.rect;if(o&&\"move\"===n&&(H(this.edges,o,this.coords.delta[this.interactable.options.deltaSource]),o.width=o.right-o.left,o.height=o.bottom-o.top),!1===this._scopeFire(\"interactions:before-action-\".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,i);return this._scopeFire(\"interactions:action-\".concat(n),t),\"start\"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire(\"interactions:after-action-\".concat(n),t),!0}},{key:\"_now\",value:function(){return Date.now()}}]),t}();function Ie(t){Me(t.interaction)}function Me(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return Ae(t.coords.cur,e),Ae(t.coords.delta,e),H(t.edges,t.rect,e),e.x=0,e.y=0,!0}function ze(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function Ae(t,e){var n=t.page,r=t.client,i=e.x,o=e.y;n.x+=i,n.y+=o,r.x+=i,r.y+=o}Oe.offsetBy=\"\";var Re={id:\"offset\",before:[\"modifiers\",\"pointer-events\",\"actions\",\"inertia\"],install:function(t){t.Interaction.prototype.offsetBy=ze},listeners:{\"interactions:new\":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},\"interactions:update-pointer\":function(t){return function(t){t.pointerIsDown&&(Ae(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}(t.interaction)},\"interactions:before-action-start\":Ie,\"interactions:before-action-move\":Ie,\"interactions:before-action-end\":function(t){var e=t.interaction;if(Me(e))return e.move({offset:!0}),e.end(),!1},\"interactions:stop\":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}},Ce=Re;var je=function(){function t(e){r(this,t),this.active=!1,this.isModified=!1,this.smoothEnd=!1,this.allowResume=!1,this.modification=void 0,this.modifierCount=0,this.modifierArg=void 0,this.startCoords=void 0,this.t0=0,this.v0=0,this.te=0,this.targetOffset=void 0,this.modifiedOffset=void 0,this.currentOffset=void 0,this.lambda_v0=0,this.one_ve_v0=0,this.timeout=void 0,this.interaction=void 0,this.interaction=e}return o(t,[{key:\"start\",value:function(t){var e=this.interaction,n=Fe(e);if(!n||!n.enabled)return!1;var r=e.coords.velocity.client,i=Q(r.x,r.y),o=this.modification||(this.modification=new me(e));if(o.copyFrom(e.modification),this.t0=e._now(),this.allowResume=n.allowResume,this.v0=i,this.currentOffset={x:0,y:0},this.startCoords=e.coords.cur.page,this.modifierArg=o.fillArg({pageCoords:this.startCoords,preEnd:!0,phase:\"inertiastart\"}),this.t0-e.coords.cur.timeStamp<50&&i>n.minSpeed&&i>n.endSpeed)this.startInertia();else{if(o.result=o.setAll(this.modifierArg),!o.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:\"inertiastart\"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:\"startInertia\",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=Fe(this.interaction),r=n.resistance,i=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-i)/r,y:(e.y-i)/r},this.te=i,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var o=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},o.result=o.setAll(a),o.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+o.result.delta.x,y:this.targetOffset.y+o.result.delta.y}),this.onNextFrame((function(){return t.inertiaTick()}))}},{key:\"startSmoothEnd\",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame((function(){return t.smoothEndTick()}))}},{key:\"onNextFrame\",value:function(t){var e=this;this.timeout=Lt.request((function(){e.active&&t()}))}},{key:\"inertiaTick\",value:function(){var t,e,n,r,i,o,a,s=this,c=this.interaction,l=Fe(c).resistance,u=(c._now()-this.t0)/1e3;if(u<this.te){var p,f=1-(Math.exp(-l*u)-this.lambda_v0)/this.one_ve_v0;this.isModified?(t=0,e=0,n=this.targetOffset.x,r=this.targetOffset.y,i=this.modifiedOffset.x,o=this.modifiedOffset.y,p={x:Ye(a=f,t,n,i),y:Ye(a,e,r,o)}):p={x:this.targetOffset.x*f,y:this.targetOffset.y*f};var d={x:p.x-this.currentOffset.x,y:p.y-this.currentOffset.y};this.currentOffset.x+=d.x,this.currentOffset.y+=d.y,c.offsetBy(d),c.move(),this.onNextFrame((function(){return s.inertiaTick()}))}else c.offsetBy({x:this.modifiedOffset.x-this.currentOffset.x,y:this.modifiedOffset.y-this.currentOffset.y}),this.end()}},{key:\"smoothEndTick\",value:function(){var t=this,e=this.interaction,n=e._now()-this.t0,r=Fe(e).smoothEndDuration;if(n<r){var i={x:Le(n,0,this.targetOffset.x,r),y:Le(n,0,this.targetOffset.y,r)},o={x:i.x-this.currentOffset.x,y:i.y-this.currentOffset.y};this.currentOffset.x+=o.x,this.currentOffset.y+=o.y,e.offsetBy(o),e.move({skipModifiers:this.modifierCount}),this.onNextFrame((function(){return t.smoothEndTick()}))}else e.offsetBy({x:this.targetOffset.x-this.currentOffset.x,y:this.targetOffset.y-this.currentOffset.y}),this.end()}},{key:\"resume\",value:function(t){var e=t.pointer,n=t.event,r=t.eventTarget,i=this.interaction;i.offsetBy({x:-this.currentOffset.x,y:-this.currentOffset.y}),i.updatePointer(e,n,r,!0),i._doPhase({interaction:i,event:n,phase:\"resume\"}),et(i.coords.prev,i.coords.cur),this.stop()}},{key:\"end\",value:function(){this.interaction.move(),this.interaction.end(),this.stop()}},{key:\"stop\",value:function(){this.active=this.smoothEnd=!1,this.interaction.simulation=null,Lt.cancel(this.timeout)}}]),t}();function Fe(t){var e=t.interactable,n=t.prepared;return e&&e.options&&n.name&&e.options[n.name].inertia}var Xe={id:\"inertia\",before:[\"modifiers\",\"actions\"],install:function(t){var e=t.defaults;t.usePlugin(Ce),t.usePlugin(Ee),t.actions.phases.inertiastart=!0,t.actions.phases.resume=!0,e.perAction.inertia={enabled:!1,resistance:10,minSpeed:100,endSpeed:10,allowResume:!0,smoothEndDuration:300}},listeners:{\"interactions:new\":function(t){var e=t.interaction;e.inertia=new je(e)},\"interactions:before-action-end\":function(t){var e=t.interaction,n=t.event;return(!e._interacting||e.simulation||!e.inertia.start(n))&&null},\"interactions:down\":function(t){var e=t.interaction,n=t.eventTarget,r=e.inertia;if(r.active)for(var i=n;w.element(i);){if(i===e.element){r.resume(t);break}i=A(i)}},\"interactions:stop\":function(t){var e=t.interaction.inertia;e.active&&e.stop()},\"interactions:before-action-resume\":function(t){var e=t.interaction.modification;e.stop(t),e.start(t,t.interaction.coords.cur.page),e.applyToInteraction(t)},\"interactions:before-action-inertiastart\":function(t){return t.interaction.modification.setAndApply(t)},\"interactions:action-resume\":xe,\"interactions:action-inertiastart\":xe,\"interactions:after-action-inertiastart\":function(t){return t.interaction.modification.restoreInteractionCoords(t)},\"interactions:after-action-resume\":function(t){return t.interaction.modification.restoreInteractionCoords(t)}}};function Ye(t,e,n,r){var i=1-t;return i*i*e+2*i*t*n+t*t*r}function Le(t,e,n,r){return-n*(t/=r)*(t-2)+e}var qe=Xe;function Be(t,e){for(var n=0;n<e.length;n++){var r=e[n];if(t.immediatePropagationStopped)break;r(t)}}var Ve=function(){function t(e){r(this,t),this.options=void 0,this.types={},this.propagationStopped=!1,this.immediatePropagationStopped=!1,this.global=void 0,this.options=V({},e||{})}return o(t,[{key:\"fire\",value:function(t){var e,n=this.global;(e=this.types[t.type])&&Be(t,e),!t.propagationStopped&&n&&(e=n[t.type])&&Be(t,e)}},{key:\"on\",value:function(t,e){var n=$(t,e);for(t in n)this.types[t]=gt(this.types[t]||[],n[t])}},{key:\"off\",value:function(t,e){var n=$(t,e);for(t in n){var r=this.types[t];if(r&&r.length)for(var i=0,o=n[t];i<o.length;i++){var a=o[i],s=r.indexOf(a);-1!==s&&r.splice(s,1)}}}},{key:\"getRect\",value:function(t){return null}}]),t}();var We=function(){function t(e){r(this,t),this.currentTarget=void 0,this.originalEvent=void 0,this.type=void 0,this.originalEvent=e,tt(this,e)}return o(t,[{key:\"preventOriginalDefault\",value:function(){this.originalEvent.preventDefault()}},{key:\"stopPropagation\",value:function(){this.originalEvent.stopPropagation()}},{key:\"stopImmediatePropagation\",value:function(){this.originalEvent.stopImmediatePropagation()}}]),t}();function Ge(t){return w.object(t)?{capture:!!t.capture,passive:!!t.passive}:{capture:!!t,passive:!1}}function Ne(t,e){return t===e||(\"boolean\"==typeof t?!!e.capture===t&&!1==!!e.passive:!!t.capture==!!e.capture&&!!t.passive==!!e.passive)}var Ue={id:\"events\",install:function(t){var e,n=[],r={},i=[],o={add:a,remove:s,addDelegate:function(t,e,n,o,s){var u=Ge(s);if(!r[n]){r[n]=[];for(var p=0;p<i.length;p++){var f=i[p];a(f,n,c),a(f,n,l,!0)}}var d=r[n],h=bt(d,(function(n){return n.selector===t&&n.context===e}));h||(h={selector:t,context:e,listeners:[]},d.push(h));h.listeners.push({func:o,options:u})},removeDelegate:function(t,e,n,i,o){var a,u=Ge(o),p=r[n],f=!1;if(!p)return;for(a=p.length-1;a>=0;a--){var d=p[a];if(d.selector===t&&d.context===e){for(var h=d.listeners,v=h.length-1;v>=0;v--){var g=h[v];if(g.func===i&&Ne(g.options,u)){h.splice(v,1),h.length||(p.splice(a,1),s(e,n,c),s(e,n,l,!0)),f=!0;break}}if(f)break}}},delegateListener:c,delegateUseCapture:l,delegatedEvents:r,documents:i,targets:n,supportsOptions:!1,supportsPassive:!1};function a(t,e,r,i){if(t.addEventListener){var a=Ge(i),s=bt(n,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},n.push(s)),s.events[e]||(s.events[e]=[]),bt(s.events[e],(function(t){return t.func===r&&Ne(t.options,a)}))||(t.addEventListener(e,r,o.supportsOptions?a:a.capture),s.events[e].push({func:r,options:a}))}}function s(t,e,r,i){if(t.addEventListener&&t.removeEventListener){var a=yt(n,(function(e){return e.eventTarget===t})),c=n[a];if(c&&c.events)if(\"all\"!==e){var l=!1,u=c.events[e];if(u){if(\"all\"===r){for(var p=u.length-1;p>=0;p--){var f=u[p];s(t,e,f.func,f.options)}return}for(var d=Ge(i),h=0;h<u.length;h++){var v=u[h];if(v.func===r&&Ne(v.options,d)){t.removeEventListener(e,r,o.supportsOptions?d:d.capture),u.splice(h,1),0===u.length&&(delete c.events[e],l=!0);break}}}l&&!Object.keys(c.events).length&&n.splice(a,1)}else for(e in c.events)c.events.hasOwnProperty(e)&&s(t,e,\"all\")}}function c(t,e){for(var n=Ge(e),i=new We(t),o=r[t.type],a=ht(t)[0],s=a;w.element(s);){for(var c=0;c<o.length;c++){var l=o[c],u=l.selector,p=l.context;if(R(s,u)&&M(p,a)&&M(p,s)){var f=l.listeners;i.currentTarget=s;for(var d=0;d<f.length;d++){var h=f[d];Ne(h.options,n)&&h.func(i)}}}s=A(s)}}function l(t){return c(t,!0)}return null==(e=t.document)||e.createElement(\"div\").addEventListener(\"test\",null,{get capture(){return o.supportsOptions=!0},get passive(){return o.supportsPassive=!0}}),t.events=o,o}},He={methodOrder:[\"simulationResume\",\"mouseOrPen\",\"hasPointer\",\"idle\"],search:function(t){for(var e=0,n=He.methodOrder;e<n.length;e++){var r=n[e],i=He[r](t);if(i)return i}return null},simulationResume:function(t){var e=t.pointerType,n=t.eventType,r=t.eventTarget,i=t.scope;if(!/down|start/i.test(n))return null;for(var o=0,a=i.interactions.list;o<a.length;o++){var s=a[o],c=r;if(s.simulation&&s.simulation.allowResume&&s.pointerType===e)for(;c;){if(c===s.element)return s;c=A(c)}}return null},mouseOrPen:function(t){var e,n=t.pointerId,r=t.pointerType,i=t.eventType,o=t.scope;if(\"mouse\"!==r&&\"pen\"!==r)return null;for(var a=0,s=o.interactions.list;a<s.length;a++){var c=s[a];if(c.pointerType===r){if(c.simulation&&!Ke(c,n))continue;if(c.interacting())return c;e||(e=c)}}if(e)return e;for(var l=0,u=o.interactions.list;l<u.length;l++){var p=u[l];if(!(p.pointerType!==r||/down/i.test(i)&&p.simulation))return p}return null},hasPointer:function(t){for(var e=t.pointerId,n=0,r=t.scope.interactions.list;n<r.length;n++){var i=r[n];if(Ke(i,e))return i}return null},idle:function(t){for(var e=t.pointerType,n=0,r=t.scope.interactions.list;n<r.length;n++){var i=r[n];if(1===i.pointers.length){var o=i.interactable;if(o&&(!o.options.gesture||!o.options.gesture.enabled))continue}else if(i.pointers.length>=2)continue;if(!i.interacting()&&e===i.pointerType)return i}return null}};function Ke(t,e){return t.pointers.some((function(t){return t.id===e}))}var $e=He,Je=[\"pointerDown\",\"pointerMove\",\"pointerUp\",\"updatePointer\",\"removePointer\",\"windowBlur\"];function Qe(t,e){return function(n){var r=e.interactions.list,i=dt(n),o=ht(n),a=o[0],s=o[1],c=[];if(/^touch/.test(n.type)){e.prevTouchTime=e.now();for(var l=0,u=n.changedTouches;l<u.length;l++){var p=u[l],f={pointer:p,pointerId:at(p),pointerType:i,eventType:n.type,eventTarget:a,curEventTarget:s,scope:e},d=Ze(f);c.push([f.pointer,f.eventTarget,f.curEventTarget,d])}}else{var h=!1;if(!I.supportsPointerEvent&&/mouse/.test(n.type)){for(var v=0;v<r.length&&!h;v++)h=\"mouse\"!==r[v].pointerType&&r[v].pointerIsDown;h=h||e.now()-e.prevTouchTime<500||0===n.timeStamp}if(!h){var g={pointer:n,pointerId:at(n),pointerType:i,eventType:n.type,curEventTarget:s,eventTarget:a,scope:e},m=Ze(g);c.push([g.pointer,g.eventTarget,g.curEventTarget,m])}}for(var y=0;y<c.length;y++){var b=c[y],x=b[0],w=b[1],E=b[2];b[3][t](x,n,w,E)}}}function Ze(t){var e=t.pointerType,n=t.scope,r={interaction:$e.search(t),searchDetails:t};return n.fire(\"interactions:find\",r),r.interaction||n.interactions.new({pointerType:e})}function tn(t,e){var n=t.doc,r=t.scope,i=t.options,o=r.interactions.docEvents,a=r.events,s=a[e];for(var c in r.browser.isIOS&&!i.events&&(i.events={passive:!1}),a.delegatedEvents)s(n,c,a.delegateListener),s(n,c,a.delegateUseCapture,!0);for(var l=i&&i.events,u=0;u<o.length;u++){var p=o[u];s(n,p.type,p.listener,l)}}var en={id:\"core/interactions\",install:function(t){for(var e={},n=0;n<Je.length;n++){var i=Je[n];e[i]=Qe(i,t)}var a,c=I.pEventTypes;function l(){for(var e=0,n=t.interactions.list;e<n.length;e++){var r=n[e];if(r.pointerIsDown&&\"touch\"===r.pointerType&&!r._interacting)for(var i=function(){var e=a[o];t.documents.some((function(t){return M(t.doc,e.downTarget)}))||r.removePointer(e.pointer,e.event)},o=0,a=r.pointers;o<a.length;o++)i()}}(a=k.PointerEvent?[{type:c.down,listener:l},{type:c.down,listener:e.pointerDown},{type:c.move,listener:e.pointerMove},{type:c.up,listener:e.pointerUp},{type:c.cancel,listener:e.pointerUp}]:[{type:\"mousedown\",listener:e.pointerDown},{type:\"mousemove\",listener:e.pointerMove},{type:\"mouseup\",listener:e.pointerUp},{type:\"touchstart\",listener:l},{type:\"touchstart\",listener:e.pointerDown},{type:\"touchmove\",listener:e.pointerMove},{type:\"touchend\",listener:e.pointerUp},{type:\"touchcancel\",listener:e.pointerUp}]).push({type:\"blur\",listener:function(e){for(var n=0,r=t.interactions.list;n<r.length;n++){r[n].documentBlur(e)}}}),t.prevTouchTime=0,t.Interaction=function(e){s(i,e);var n=p(i);function i(){return r(this,i),n.apply(this,arguments)}return o(i,[{key:\"pointerMoveTolerance\",get:function(){return t.interactions.pointerMoveTolerance},set:function(e){t.interactions.pointerMoveTolerance=e}},{key:\"_now\",value:function(){return t.now()}}]),i}(De),t.interactions={list:[],new:function(e){e.scopeFire=function(e,n){return t.fire(e,n)};var n=new t.Interaction(e);return t.interactions.list.push(n),n},listeners:e,docEvents:a,pointerMoveTolerance:1},t.usePlugin(he)},listeners:{\"scope:add-document\":function(t){return tn(t,\"add\")},\"scope:remove-document\":function(t){return tn(t,\"remove\")},\"interactable:unset\":function(t,e){for(var n=t.interactable,r=e.interactions.list.length-1;r>=0;r--){var i=e.interactions.list[r];i.interactable===n&&(i.stop(),e.fire(\"interactions:destroy\",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:tn,doOnInteractions:Qe,methodNames:Je},nn=en,rn=function(t){return t[t.On=0]=\"On\",t[t.Off=1]=\"Off\",t}(rn||{}),on=function(){function t(e,n,i,o){r(this,t),this.target=void 0,this.options=void 0,this._actions=void 0,this.events=new Ve,this._context=void 0,this._win=void 0,this._doc=void 0,this._scopeEvents=void 0,this._actions=n.actions,this.target=e,this._context=n.context||i,this._win=y(B(e)?this._context:e),this._doc=this._win.document,this._scopeEvents=o,this.set(n)}return o(t,[{key:\"_defaults\",get:function(){return{base:{},perAction:{},actions:{}}}},{key:\"setOnEvents\",value:function(t,e){return w.func(e.onstart)&&this.on(\"\".concat(t,\"start\"),e.onstart),w.func(e.onmove)&&this.on(\"\".concat(t,\"move\"),e.onmove),w.func(e.onend)&&this.on(\"\".concat(t,\"end\"),e.onend),w.func(e.oninertiastart)&&this.on(\"\".concat(t,\"inertiastart\"),e.oninertiastart),this}},{key:\"updatePerActionListeners\",value:function(t,e,n){var r,i=this,o=null==(r=this._actions.map[t])?void 0:r.filterEventType,a=function(t){return(null==o||o(t))&&ve(t,i._actions)};(w.array(e)||w.object(e))&&this._onOff(rn.Off,t,e,void 0,a),(w.array(n)||w.object(n))&&this._onOff(rn.On,t,n,void 0,a)}},{key:\"setPerAction\",value:function(t,e){var n=this._defaults;for(var r in e){var i=r,o=this.options[t],a=e[i];\"listeners\"===i&&this.updatePerActionListeners(t,o.listeners,a),w.array(a)?o[i]=mt(a):w.plainObject(a)?(o[i]=V(o[i]||{},ge(a)),w.object(n.perAction[i])&&\"enabled\"in n.perAction[i]&&(o[i].enabled=!1!==a.enabled)):w.bool(a)&&w.object(n.perAction[i])?o[i].enabled=a:o[i]=a}}},{key:\"getRect\",value:function(t){return t=t||(w.element(this.target)?this.target:null),w.string(this.target)&&(t=t||this._context.querySelector(this.target)),L(t)}},{key:\"rectChecker\",value:function(t){var e=this;return w.func(t)?(this.getRect=function(n){var r=V({},t.apply(e,n));return\"width\"in r||(r.width=r.right-r.left,r.height=r.bottom-r.top),r},this):null===t?(delete this.getRect,this):this.getRect}},{key:\"_backCompatOption\",value:function(t,e){if(B(e)||w.object(e)){for(var n in this.options[t]=e,this._actions.map)this.options[n][t]=e;return this}return this.options[t]}},{key:\"origin\",value:function(t){return this._backCompatOption(\"origin\",t)}},{key:\"deltaSource\",value:function(t){return\"page\"===t||\"client\"===t?(this.options.deltaSource=t,this):this.options.deltaSource}},{key:\"getAllElements\",value:function(){var t=this.target;return w.string(t)?Array.from(this._context.querySelectorAll(t)):w.func(t)&&t.getAllElements?t.getAllElements():w.element(t)?[t]:[]}},{key:\"context\",value:function(){return this._context}},{key:\"inContext\",value:function(t){return this._context===t.ownerDocument||M(this._context,t)}},{key:\"testIgnoreAllow\",value:function(t,e,n){return!this.testIgnore(t.ignoreFrom,e,n)&&this.testAllow(t.allowFrom,e,n)}},{key:\"testAllow\",value:function(t,e,n){return!t||!!w.element(n)&&(w.string(t)?F(n,t,e):!!w.element(t)&&M(t,n))}},{key:\"testIgnore\",value:function(t,e,n){return!(!t||!w.element(n))&&(w.string(t)?F(n,t,e):!!w.element(t)&&M(t,n))}},{key:\"fire\",value:function(t){return this.events.fire(t),this}},{key:\"_onOff\",value:function(t,e,n,r,i){w.object(e)&&!w.array(e)&&(r=n,n=null);var o=$(e,n,i);for(var a in o){\"wheel\"===a&&(a=I.wheelEvent);for(var s=0,c=o[a];s<c.length;s++){var l=c[s];ve(a,this._actions)?this.events[t===rn.On?\"on\":\"off\"](a,l):w.string(this.target)?this._scopeEvents[t===rn.On?\"addDelegate\":\"removeDelegate\"](this.target,this._context,a,l,r):this._scopeEvents[t===rn.On?\"add\":\"remove\"](this.target,a,l,r)}}return this}},{key:\"on\",value:function(t,e,n){return this._onOff(rn.On,t,e,n)}},{key:\"off\",value:function(t,e,n){return this._onOff(rn.Off,t,e,n)}},{key:\"set\",value:function(t){var e=this._defaults;for(var n in w.object(t)||(t={}),this.options=ge(e.base),this._actions.methodDict){var r=n,i=this._actions.methodDict[r];this.options[r]={},this.setPerAction(r,V(V({},e.perAction),e.actions[r])),this[i](t[r])}for(var o in t)\"getRect\"!==o?w.func(this[o])&&this[o](t[o]):this.rectChecker(t.getRect);return this}},{key:\"unset\",value:function(){if(w.string(this.target))for(var t in this._scopeEvents.delegatedEvents)for(var e=this._scopeEvents.delegatedEvents[t],n=e.length-1;n>=0;n--){var r=e[n],i=r.selector,o=r.context,a=r.listeners;i===this.target&&o===this._context&&e.splice(n,1);for(var s=a.length-1;s>=0;s--)this._scopeEvents.removeDelegate(this.target,this._context,t,a[s][0],a[s][1])}else this._scopeEvents.remove(this.target,\"all\")}}]),t}(),an=function(){function t(e){var n=this;r(this,t),this.list=[],this.selectorMap={},this.scope=void 0,this.scope=e,e.addListeners({\"interactable:unset\":function(t){var e=t.interactable,r=e.target,i=w.string(r)?n.selectorMap[r]:r[n.scope.id],o=yt(i,(function(t){return t===e}));i.splice(o,1)}})}return o(t,[{key:\"new\",value:function(t,e){e=V(e||{},{actions:this.scope.actions});var n=new this.scope.Interactable(t,e,this.scope.document,this.scope.events);return this.scope.addDocument(n._doc),this.list.push(n),w.string(t)?(this.selectorMap[t]||(this.selectorMap[t]=[]),this.selectorMap[t].push(n)):(n.target[this.scope.id]||Object.defineProperty(t,this.scope.id,{value:[],configurable:!0}),t[this.scope.id].push(n)),this.scope.fire(\"interactable:new\",{target:t,options:e,interactable:n,win:this.scope._win}),n}},{key:\"getExisting\",value:function(t,e){var n=e&&e.context||this.scope.document,r=w.string(t),i=r?this.selectorMap[t]:t[this.scope.id];if(i)return bt(i,(function(e){return e._context===n&&(r||e.inContext(t))}))}},{key:\"forEachMatch\",value:function(t,e){for(var n=0,r=this.list;n<r.length;n++){var i=r[n],o=void 0;if((w.string(i.target)?w.element(t)&&R(t,i.target):t===i.target)&&i.inContext(t)&&(o=e(i)),void 0!==o)return o}}}]),t}();var sn=function(){function t(){var e=this;r(this,t),this.id=\"__interact_scope_\".concat(Math.floor(100*Math.random())),this.isInitialized=!1,this.listenerMaps=[],this.browser=I,this.defaults=ge(Te),this.Eventable=Ve,this.actions={map:{},phases:{start:!0,move:!0,end:!0},methodDict:{},phaselessTypes:{}},this.interactStatic=function(t){var e=function e(n,r){var i=t.interactables.getExisting(n,r);return i||((i=t.interactables.new(n,r)).events.global=e.globalEvents),i};return e.getPointerAverage=lt,e.getTouchBBox=ut,e.getTouchDistance=pt,e.getTouchAngle=ft,e.getElementRect=L,e.getElementClientRect=Y,e.matchesSelector=R,e.closest=z,e.globalEvents={},e.version=\"1.10.27\",e.scope=t,e.use=function(t,e){return this.scope.usePlugin(t,e),this},e.isSet=function(t,e){return!!this.scope.interactables.get(t,e&&e.context)},e.on=Nt((function(t,e,n){if(w.string(t)&&-1!==t.search(\" \")&&(t=t.trim().split(/ +/)),w.array(t)){for(var r=0,i=t;r<i.length;r++){var o=i[r];this.on(o,e,n)}return this}if(w.object(t)){for(var a in t)this.on(a,t[a],e);return this}return ve(t,this.scope.actions)?this.globalEvents[t]?this.globalEvents[t].push(e):this.globalEvents[t]=[e]:this.scope.events.add(this.scope.document,t,e,{options:n}),this}),\"The interact.on() method is being deprecated\"),e.off=Nt((function(t,e,n){if(w.string(t)&&-1!==t.search(\" \")&&(t=t.trim().split(/ +/)),w.array(t)){for(var r=0,i=t;r<i.length;r++){var o=i[r];this.off(o,e,n)}return this}if(w.object(t)){for(var a in t)this.off(a,t[a],e);return this}var s;return ve(t,this.scope.actions)?t in this.globalEvents&&-1!==(s=this.globalEvents[t].indexOf(e))&&this.globalEvents[t].splice(s,1):this.scope.events.remove(this.scope.document,t,e,n),this}),\"The interact.off() method is being deprecated\"),e.debug=function(){return this.scope},e.supportsTouch=function(){return I.supportsTouch},e.supportsPointerEvent=function(){return I.supportsPointerEvent},e.stop=function(){for(var t=0,e=this.scope.interactions.list;t<e.length;t++)e[t].stop();return this},e.pointerMoveTolerance=function(t){return w.number(t)?(this.scope.interactions.pointerMoveTolerance=t,this):this.scope.interactions.pointerMoveTolerance},e.addDocument=function(t,e){this.scope.addDocument(t,e)},e.removeDocument=function(t){this.scope.removeDocument(t)},e}(this),this.InteractEvent=Se,this.Interactable=void 0,this.interactables=new an(this),this._win=void 0,this.document=void 0,this.window=void 0,this.documents=[],this._plugins={list:[],map:{}},this.onWindowUnload=function(t){return e.removeDocument(t.target)};var n=this;this.Interactable=function(t){s(i,t);var e=p(i);function i(){return r(this,i),e.apply(this,arguments)}return o(i,[{key:\"_defaults\",get:function(){return n.defaults}},{key:\"set\",value:function(t){return f(c(i.prototype),\"set\",this).call(this,t),n.fire(\"interactable:set\",{options:t,interactable:this}),this}},{key:\"unset\",value:function(){f(c(i.prototype),\"unset\",this).call(this);var t=n.interactables.list.indexOf(this);t<0||(n.interactables.list.splice(t,1),n.fire(\"interactable:unset\",{interactable:this}))}}]),i}(on)}return o(t,[{key:\"addListeners\",value:function(t,e){this.listenerMaps.push({id:e,map:t})}},{key:\"fire\",value:function(t,e){for(var n=0,r=this.listenerMaps;n<r.length;n++){var i=r[n].map[t];if(i&&!1===i(e,this,t))return!1}}},{key:\"init\",value:function(t){return this.isInitialized?this:function(t,e){t.isInitialized=!0,w.window(e)&&m(e);return k.init(e),I.init(e),Lt.init(e),t.window=e,t.document=e.document,t.usePlugin(nn),t.usePlugin(Ue),t}(this,t)}},{key:\"pluginIsInstalled\",value:function(t){var e=t.id;return e?!!this._plugins.map[e]:-1!==this._plugins.list.indexOf(t)}},{key:\"usePlugin\",value:function(t,e){if(!this.isInitialized)return this;if(this.pluginIsInstalled(t))return this;if(t.id&&(this._plugins.map[t.id]=t),this._plugins.list.push(t),t.install&&t.install(this,e),t.listeners&&t.before){for(var n=0,r=this.listenerMaps.length,i=t.before.reduce((function(t,e){return t[e]=!0,t[cn(e)]=!0,t}),{});n<r;n++){var o=this.listenerMaps[n].id;if(o&&(i[o]||i[cn(o)]))break}this.listenerMaps.splice(n,0,{id:t.id,map:t.listeners})}else t.listeners&&this.listenerMaps.push({id:t.id,map:t.listeners});return this}},{key:\"addDocument\",value:function(t,e){if(-1!==this.getDocIndex(t))return!1;var n=y(t);e=e?V({},e):{},this.documents.push({doc:t,options:e}),this.events.documents.push(t),t!==this.document&&this.events.add(n,\"unload\",this.onWindowUnload),this.fire(\"scope:add-document\",{doc:t,window:n,scope:this,options:e})}},{key:\"removeDocument\",value:function(t){var e=this.getDocIndex(t),n=y(t),r=this.documents[e].options;this.events.remove(n,\"unload\",this.onWindowUnload),this.documents.splice(e,1),this.events.documents.splice(e,1),this.fire(\"scope:remove-document\",{doc:t,window:n,scope:this,options:r})}},{key:\"getDocIndex\",value:function(t){for(var e=0;e<this.documents.length;e++)if(this.documents[e].doc===t)return e;return-1}},{key:\"getDocOptions\",value:function(t){var e=this.getDocIndex(t);return-1===e?null:this.documents[e].options}},{key:\"now\",value:function(){return(this.window.Date||Date).now()}}]),t}();function cn(t){return t&&t.replace(/\\/.*$/,\"\")}var ln=new sn,un=ln.interactStatic,pn=\"undefined\"!=typeof globalThis?globalThis:window;ln.init(pn);var fn=Object.freeze({__proto__:null,edgeTarget:function(){},elements:function(){},grid:function(t){var e=[[\"x\",\"y\"],[\"left\",\"top\"],[\"right\",\"bottom\"],[\"width\",\"height\"]].filter((function(e){var n=e[0],r=e[1];return n in t||r in t})),n=function(n,r){for(var i=t.range,o=t.limits,a=void 0===o?{left:-1/0,right:1/0,top:-1/0,bottom:1/0}:o,s=t.offset,c=void 0===s?{x:0,y:0}:s,l={range:i,grid:t,x:null,y:null},u=0;u<e.length;u++){var p=e[u],f=p[0],d=p[1],h=Math.round((n-c.x)/t[f]),v=Math.round((r-c.y)/t[d]);l[f]=Math.max(a.left,Math.min(a.right,h*t[f]+c.x)),l[d]=Math.max(a.top,Math.min(a.bottom,v*t[d]+c.y))}return l};return n.grid=t,n.coordFields=e,n}}),dn={id:\"snappers\",install:function(t){var e=t.interactStatic;e.snappers=V(e.snappers||{},fn),e.createSnapGrid=e.snappers.grid}},hn=dn,vn={start:function(t){var n=t.state,r=t.rect,i=t.edges,o=t.pageCoords,a=n.options,s=a.ratio,c=a.enabled,l=n.options,u=l.equalDelta,p=l.modifiers;\"preserve\"===s&&(s=r.width/r.height),n.startCoords=V({},o),n.startRect=V({},r),n.ratio=s,n.equalDelta=u;var f=n.linkedEdges={top:i.top||i.left&&!i.bottom,left:i.left||i.top&&!i.right,bottom:i.bottom||i.right&&!i.top,right:i.right||i.bottom&&!i.left};if(n.xIsPrimaryAxis=!(!i.left&&!i.right),n.equalDelta){var d=(f.left?1:-1)*(f.top?1:-1);n.edgeSign={x:d,y:d}}else n.edgeSign={x:f.left?-1:1,y:f.top?-1:1};if(!1!==c&&V(i,f),null!=p&&p.length){var h=new me(t.interaction);h.copyFrom(t.interaction.modification),h.prepareStates(p),n.subModification=h,h.startAll(e({},t))}},set:function(t){var n=t.state,r=t.rect,i=t.coords,o=n.linkedEdges,a=V({},i),s=n.equalDelta?gn:mn;if(V(t.edges,o),s(n,n.xIsPrimaryAxis,i,r),!n.subModification)return null;var c=V({},r);H(o,c,{x:i.x-a.x,y:i.y-a.y});var l=n.subModification.setAll(e(e({},t),{},{rect:c,edges:o,pageCoords:i,prevCoords:i,prevRect:c})),u=l.delta;l.changed&&(s(n,Math.abs(u.x)>Math.abs(u.y),l.coords,l.rect),V(i,l.coords));return l.eventProps},defaults:{ratio:\"preserve\",equalDelta:!1,modifiers:[],enabled:!1}};function gn(t,e,n){var r=t.startCoords,i=t.edgeSign;e?n.y=r.y+(n.x-r.x)*i.y:n.x=r.x+(n.y-r.y)*i.x}function mn(t,e,n,r){var i=t.startRect,o=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var c=r.width/a;n.y=o.y+(c-i.height)*s.y}else{var l=r.height*a;n.x=o.x+(l-i.width)*s.x}}var yn=be(vn,\"aspectRatio\"),bn=function(){};bn._defaults={};var xn=bn;function wn(t,e,n){return w.func(t)?G(t,e.interactable,e.element,[n.x,n.y,e]):G(t,e.interactable,e.element)}var En={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,i=t.interaction,o=t.pageCoords,a=r.options,s=a.elementRect,c=V({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var l=wn(a.restriction,i,o);if(l){var u=l.right-l.left-e.width,p=l.bottom-l.top-e.height;u<0&&(c.left+=u,c.right+=u),p<0&&(c.top+=p,c.bottom+=p)}c.left+=n.left-e.width*s.left,c.top+=n.top-e.height*s.top,c.right+=n.right-e.width*(1-s.right),c.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=c},set:function(t){var e=t.coords,n=t.interaction,r=t.state,i=r.options,o=r.offset,a=wn(i.restriction,n,e);if(a){var s=function(t){return!t||\"left\"in t&&\"top\"in t||((t=V({},t)).left=t.x||0,t.top=t.y||0,t.right=t.right||t.left+t.width,t.bottom=t.bottom||t.top+t.height),t}(a);e.x=Math.max(Math.min(s.right-o.right,e.x),s.left+o.left),e.y=Math.max(Math.min(s.bottom-o.bottom,e.y),s.top+o.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}},Tn=be(En,\"restrict\"),Sn={top:1/0,left:1/0,bottom:-1/0,right:-1/0},_n={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Pn(t,e){for(var n=0,r=[\"top\",\"left\",\"bottom\",\"right\"];n<r.length;n++){var i=r[n];i in t||(t[i]=e[i])}return t}var On={noInner:Sn,noOuter:_n,start:function(t){var e,n=t.interaction,r=t.startOffset,i=t.state,o=i.options;o&&(e=N(wn(o.offset,n,n.coords.start.page))),e=e||{x:0,y:0},i.offset={top:e.y+r.top,left:e.x+r.left,bottom:e.y-r.bottom,right:e.x-r.right}},set:function(t){var e=t.coords,n=t.edges,r=t.interaction,i=t.state,o=i.offset,a=i.options;if(n){var s=V({},e),c=wn(a.inner,r,s)||{},l=wn(a.outer,r,s)||{};Pn(c,Sn),Pn(l,_n),n.top?e.y=Math.min(Math.max(l.top+o.top,s.y),c.top+o.top):n.bottom&&(e.y=Math.max(Math.min(l.bottom+o.bottom,s.y),c.bottom+o.bottom)),n.left?e.x=Math.min(Math.max(l.left+o.left,s.x),c.left+o.left):n.right&&(e.x=Math.max(Math.min(l.right+o.right,s.x),c.right+o.right))}},defaults:{inner:null,outer:null,offset:null,endOnly:!1,enabled:!1}},kn=be(On,\"restrictEdges\"),Dn=V({get elementRect(){return{top:0,left:0,bottom:1,right:1}},set elementRect(t){}},En.defaults),In=be({start:En.start,set:En.set,defaults:Dn},\"restrictRect\"),Mn={width:-1/0,height:-1/0},zn={width:1/0,height:1/0};var An=be({start:function(t){return On.start(t)},set:function(t){var e=t.interaction,n=t.state,r=t.rect,i=t.edges,o=n.options;if(i){var a=U(wn(o.min,e,t.coords))||Mn,s=U(wn(o.max,e,t.coords))||zn;n.options={endOnly:o.endOnly,inner:V({},On.noInner),outer:V({},On.noOuter)},i.top?(n.options.inner.top=r.bottom-a.height,n.options.outer.top=r.bottom-s.height):i.bottom&&(n.options.inner.bottom=r.top+a.height,n.options.outer.bottom=r.top+s.height),i.left?(n.options.inner.left=r.right-a.width,n.options.outer.left=r.right-s.width):i.right&&(n.options.inner.right=r.left+a.width,n.options.outer.right=r.left+s.width),On.set(t),n.options=o}},defaults:{min:null,max:null,endOnly:!1,enabled:!1}},\"restrictSize\");var Rn={start:function(t){var e,n=t.interaction,r=t.interactable,i=t.element,o=t.rect,a=t.state,s=t.startOffset,c=a.options,l=c.offsetWithOrigin?function(t){var e=t.interaction.element,n=N(G(t.state.options.origin,null,null,[e])),r=n||K(t.interactable,e,t.interaction.prepared.name);return r}(t):{x:0,y:0};if(\"startCoords\"===c.offset)e={x:n.coords.start.page.x,y:n.coords.start.page.y};else{var u=G(c.offset,r,i,[n]);(e=N(u)||{x:0,y:0}).x+=l.x,e.y+=l.y}var p=c.relativePoints;a.offsets=o&&p&&p.length?p.map((function(t,n){return{index:n,relativePoint:t,x:s.left-o.width*t.x+e.x,y:s.top-o.height*t.y+e.y}})):[{index:0,relativePoint:null,x:e.x,y:e.y}]},set:function(t){var e=t.interaction,n=t.coords,r=t.state,i=r.options,o=r.offsets,a=K(e.interactable,e.element,e.prepared.name),s=V({},n),c=[];i.offsetWithOrigin||(s.x-=a.x,s.y-=a.y);for(var l=0,u=o;l<u.length;l++)for(var p=u[l],f=s.x-p.x,d=s.y-p.y,h=0,v=i.targets.length;h<v;h++){var g=i.targets[h],m=void 0;(m=w.func(g)?g(f,d,e._proxy,p,h):g)&&c.push({x:(w.number(m.x)?m.x:f)+p.x,y:(w.number(m.y)?m.y:d)+p.y,range:w.number(m.range)?m.range:i.range,source:g,index:h,offset:p})}for(var y={target:null,inRange:!1,distance:0,range:0,delta:{x:0,y:0}},b=0;b<c.length;b++){var x=c[b],E=x.range,T=x.x-s.x,S=x.y-s.y,_=Q(T,S),P=_<=E;E===1/0&&y.inRange&&y.range!==1/0&&(P=!1),y.target&&!(P?y.inRange&&E!==1/0?_/E<y.distance/y.range:E===1/0&&y.range!==1/0||_<y.distance:!y.inRange&&_<y.distance)||(y.target=x,y.distance=_,y.range=E,y.inRange=P,y.delta.x=T,y.delta.y=S)}return y.inRange&&(n.x=y.target.x,n.y=y.target.y),r.closest=y,y},defaults:{range:1/0,targets:null,offset:null,offsetWithOrigin:!0,origin:null,relativePoints:null,endOnly:!1,enabled:!1}},Cn=be(Rn,\"snap\");var jn={start:function(t){var e=t.state,n=t.edges,r=e.options;if(!n)return null;t.state={options:{targets:null,relativePoints:[{x:n.left?0:1,y:n.top?0:1}],offset:r.offset||\"self\",origin:{x:0,y:0},range:r.range}},e.targetFields=e.targetFields||[[\"width\",\"height\"],[\"x\",\"y\"]],Rn.start(t),e.offsets=t.state.offsets,t.state=e},set:function(t){var e=t.interaction,n=t.state,r=t.coords,i=n.options,o=n.offsets,a={x:r.x-o[0].x,y:r.y-o[0].y};n.options=V({},i),n.options.targets=[];for(var s=0,c=i.targets||[];s<c.length;s++){var l=c[s],u=void 0;if(u=w.func(l)?l(a.x,a.y,e):l){for(var p=0,f=n.targetFields;p<f.length;p++){var d=f[p],h=d[0],v=d[1];if(h in u||v in u){u.x=u[h],u.y=u[v];break}}n.options.targets.push(u)}}var g=Rn.set(t);return n.options=i,g},defaults:{range:1/0,targets:null,offset:null,endOnly:!1,enabled:!1}},Fn=be(jn,\"snapSize\");var Xn={aspectRatio:yn,restrictEdges:kn,restrict:Tn,restrictRect:In,restrictSize:An,snapEdges:be({start:function(t){var e=t.edges;return e?(t.state.targetFields=t.state.targetFields||[[e.left?\"left\":\"right\",e.top?\"top\":\"bottom\"]],jn.start(t)):null},set:jn.set,defaults:V(ge(jn.defaults),{targets:void 0,range:void 0,offset:{x:0,y:0}})},\"snapEdges\"),snap:Cn,snapSize:Fn,spring:xn,avoid:xn,transform:xn,rubberband:xn},Yn={id:\"modifiers\",install:function(t){var e=t.interactStatic;for(var n in t.usePlugin(Ee),t.usePlugin(hn),e.modifiers=Xn,Xn){var r=Xn[n],i=r._defaults,o=r._methods;i._methods=o,t.defaults.perAction[n]=i}}},Ln=Yn,qn=function(t){s(n,t);var e=p(n);function n(t,i,o,a,s,c){var l;if(r(this,n),tt(u(l=e.call(this,s)),o),o!==i&&tt(u(l),i),l.timeStamp=c,l.originalEvent=o,l.type=t,l.pointerId=at(i),l.pointerType=dt(i),l.target=a,l.currentTarget=null,\"tap\"===t){var p=s.getPointerIndex(i);l.dt=l.timeStamp-s.pointers[p].downTime;var f=l.timeStamp-s.tapTime;l.double=!!s.prevTap&&\"doubletap\"!==s.prevTap.type&&s.prevTap.target===l.target&&f<500}else\"doubletap\"===t&&(l.dt=i.timeStamp-s.tapTime,l.double=!0);return l}return o(n,[{key:\"_subtractOrigin\",value:function(t){var e=t.x,n=t.y;return this.pageX-=e,this.pageY-=n,this.clientX-=e,this.clientY-=n,this}},{key:\"_addOrigin\",value:function(t){var e=t.x,n=t.y;return this.pageX+=e,this.pageY+=n,this.clientX+=e,this.clientY+=n,this}},{key:\"preventDefault\",value:function(){this.originalEvent.preventDefault()}}]),n}(vt),Bn={id:\"pointer-events/base\",before:[\"inertia\",\"modifiers\",\"auto-start\",\"actions\"],install:function(t){t.pointerEvents=Bn,t.defaults.actions.pointerEvents=Bn.defaults,V(t.actions.phaselessTypes,Bn.types)},listeners:{\"interactions:new\":function(t){var e=t.interaction;e.prevTap=null,e.tapTime=0},\"interactions:update-pointer\":function(t){var e=t.down,n=t.pointerInfo;if(!e&&n.hold)return;n.hold={duration:1/0,timeout:null}},\"interactions:move\":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;t.duplicate||n.pointerIsDown&&!n.pointerWasMoved||(n.pointerIsDown&&Gn(t),Vn({interaction:n,pointer:r,event:i,eventTarget:o,type:\"move\"},e))},\"interactions:down\":function(t,e){!function(t,e){for(var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget,a=t.pointerIndex,s=n.pointers[a].hold,c=q(o),l={interaction:n,pointer:r,event:i,eventTarget:o,type:\"hold\",targets:[],path:c,node:null},u=0;u<c.length;u++){var p=c[u];l.node=p,e.fire(\"pointerEvents:collect-targets\",l)}if(!l.targets.length)return;for(var f=1/0,d=0,h=l.targets;d<h.length;d++){var v=h[d].eventable.options.holdDuration;v<f&&(f=v)}s.duration=f,s.timeout=setTimeout((function(){Vn({interaction:n,eventTarget:o,pointer:r,event:i,type:\"hold\"},e)}),f)}(t,e),Vn(t,e)},\"interactions:up\":function(t,e){Gn(t),Vn(t,e),function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.pointerWasMoved||Vn({interaction:n,eventTarget:o,pointer:r,event:i,type:\"tap\"},e)}(t,e)},\"interactions:cancel\":function(t,e){Gn(t),Vn(t,e)}},PointerEvent:qn,fire:Vn,collectEventTargets:Wn,defaults:{holdDuration:600,ignoreFrom:null,allowFrom:null,origin:{x:0,y:0}},types:{down:!0,move:!0,up:!0,cancel:!0,tap:!0,doubletap:!0,hold:!0}};function Vn(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget,a=t.type,s=t.targets,c=void 0===s?Wn(t,e):s,l=new qn(a,r,i,o,n,e.now());e.fire(\"pointerEvents:new\",{pointerEvent:l});for(var u={interaction:n,pointer:r,event:i,eventTarget:o,targets:c,type:a,pointerEvent:l},p=0;p<c.length;p++){var f=c[p];for(var d in f.props||{})l[d]=f.props[d];var h=K(f.eventable,f.node);if(l._subtractOrigin(h),l.eventable=f.eventable,l.currentTarget=f.node,f.eventable.fire(l),l._addOrigin(h),l.immediatePropagationStopped||l.propagationStopped&&p+1<c.length&&c[p+1].node!==l.currentTarget)break}if(e.fire(\"pointerEvents:fired\",u),\"tap\"===a){var v=l.double?Vn({interaction:n,pointer:r,event:i,eventTarget:o,type:\"doubletap\"},e):l;n.prevTap=v,n.tapTime=v.timeStamp}return l}function Wn(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget,a=t.type,s=n.getPointerIndex(r),c=n.pointers[s];if(\"tap\"===a&&(n.pointerWasMoved||!c||c.downTarget!==o))return[];for(var l=q(o),u={interaction:n,pointer:r,event:i,eventTarget:o,type:a,path:l,targets:[],node:null},p=0;p<l.length;p++){var f=l[p];u.node=f,e.fire(\"pointerEvents:collect-targets\",u)}return\"hold\"===a&&(u.targets=u.targets.filter((function(t){var e,r;return t.eventable.options.holdDuration===(null==(e=n.pointers[s])||null==(r=e.hold)?void 0:r.duration)}))),u.targets}function Gn(t){var e=t.interaction,n=t.pointerIndex,r=e.pointers[n].hold;r&&r.timeout&&(clearTimeout(r.timeout),r.timeout=null)}var Nn=Object.freeze({__proto__:null,default:Bn});function Un(t){var e=t.interaction;e.holdIntervalHandle&&(clearInterval(e.holdIntervalHandle),e.holdIntervalHandle=null)}var Hn={id:\"pointer-events/holdRepeat\",install:function(t){t.usePlugin(Bn);var e=t.pointerEvents;e.defaults.holdRepeatInterval=0,e.types.holdrepeat=t.actions.phaselessTypes.holdrepeat=!0},listeners:[\"move\",\"up\",\"cancel\",\"endall\"].reduce((function(t,e){return t[\"pointerEvents:\".concat(e)]=Un,t}),{\"pointerEvents:new\":function(t){var e=t.pointerEvent;\"hold\"===e.type&&(e.count=(e.count||0)+1)},\"pointerEvents:fired\":function(t,e){var n=t.interaction,r=t.pointerEvent,i=t.eventTarget,o=t.targets;if(\"hold\"===r.type&&o.length){var a=o[0].eventable.options.holdRepeatInterval;a<=0||(n.holdIntervalHandle=setTimeout((function(){e.pointerEvents.fire({interaction:n,eventTarget:i,type:\"hold\",pointer:r,event:r},e)}),a))}}})},Kn=Hn;var $n={id:\"pointer-events/interactableTargets\",install:function(t){var e=t.Interactable;e.prototype.pointerEvents=function(t){return V(this.events.options,t),this};var n=e.prototype._backCompatOption;e.prototype._backCompatOption=function(t,e){var r=n.call(this,t,e);return r===this&&(this.events.options[t]=e),r}},listeners:{\"pointerEvents:collect-targets\":function(t,e){var n=t.targets,r=t.node,i=t.type,o=t.eventTarget;e.interactables.forEachMatch(r,(function(t){var e=t.events,a=e.options;e.types[i]&&e.types[i].length&&t.testIgnoreAllow(a,r,o)&&n.push({node:r,eventable:e,props:{interactable:t}})}))},\"interactable:new\":function(t){var e=t.interactable;e.events.getRect=function(t){return e.getRect(t)}},\"interactable:set\":function(t,e){var n=t.interactable,r=t.options;V(n.events.options,e.pointerEvents.defaults),V(n.events.options,r.pointerEvents||{})}}},Jn=$n,Qn={id:\"pointer-events\",install:function(t){t.usePlugin(Nn),t.usePlugin(Kn),t.usePlugin(Jn)}},Zn=Qn;var tr={id:\"reflow\",install:function(t){var e=t.Interactable;t.actions.phases.reflow=!0,e.prototype.reflow=function(e){return function(t,e,n){for(var r=t.getAllElements(),i=n.window.Promise,o=i?[]:null,a=function(){var a=r[s],c=t.getRect(a);if(!c)return 1;var l,u=bt(n.interactions.list,(function(n){return n.interacting()&&n.interactable===t&&n.element===a&&n.prepared.name===e.name}));if(u)u.move(),o&&(l=u._reflowPromise||new i((function(t){u._reflowResolve=t})));else{var p=U(c),f=function(t){return{coords:t,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons},preventDefault:function(){}}}({page:{x:p.x,y:p.y},client:{x:p.x,y:p.y},timeStamp:n.now()});l=function(t,e,n,r,i){var o=t.interactions.new({pointerType:\"reflow\"}),a={interaction:o,event:i,pointer:i,eventTarget:n,phase:\"reflow\"};o.interactable=e,o.element=n,o.prevEvent=i,o.updatePointer(i,i,n,!0),nt(o.coords.delta),Ut(o.prepared,r),o._doPhase(a);var s=t.window,c=s.Promise,l=c?new c((function(t){o._reflowResolve=t})):void 0;o._reflowPromise=l,o.start(r,e,n),o._interacting?(o.move(a),o.end(i)):(o.stop(),o._reflowResolve());return o.removePointer(i,i),l}(n,t,a,e,f)}o&&o.push(l)},s=0;s<r.length&&!a();s++);return o&&i.all(o).then((function(){return t}))}(this,e,t)}},listeners:{\"interactions:stop\":function(t,e){var n=t.interaction;\"reflow\"===n.pointerType&&(n._reflowResolve&&n._reflowResolve(),function(t,e){t.splice(t.indexOf(e),1)}(e.interactions.list,n))}}},er=tr;if(un.use(he),un.use(Ce),un.use(Zn),un.use(qe),un.use(Ln),un.use(pe),un.use(Xt),un.use(Gt),un.use(er),un.default=un,\"object\"===(\"undefined\"==typeof module?\"undefined\":n(module))&&module)try{module.exports=un}catch(t){}return un.default=un,un}));\n//# sourceMappingURL=interact.min.js.map\n","<script setup lang=\"ts\">\nimport {\n  computed,\n  inject,\n  onBeforeMount,\n  onBeforeUnmount,\n  onMounted,\n  reactive,\n  ref,\n  shallowRef,\n  toRef,\n  watch,\n  watchEffect,\n} from 'vue'\n\nimport { isNull, nextTickOnce, throttle } from '@vexip-ui/utils'\nimport {\n  EMITTER_KEY,\n  LAYOUT_KEY,\n  setTopLeft,\n  setTopRight,\n  setTransform,\n  setTransformRtl,\n  useNameHelper,\n} from '../helpers/common'\nimport { createCoreData, getControlPosition } from '../helpers/draggable'\nimport { getColsFromBreakpoint } from '../helpers/responsive'\nimport { getDocumentDir } from '../helpers/dom'\n\nimport interact from 'interactjs'\n\nimport type { GridItemProps } from './types'\n\nconst props = withDefaults(defineProps<GridItemProps>(), {\n  isDraggable: undefined,\n  isResizable: undefined,\n  isBounded: undefined,\n  static: false,\n  minH: 1,\n  minW: 1,\n  maxH: Infinity,\n  maxW: Infinity,\n  dragIgnoreFrom: 'a, button',\n  dragAllowFrom: undefined,\n  resizeIgnoreFrom: 'a, button',\n  preserveAspectRatio: false,\n  dragOption: () => ({}),\n  resizeOption: () => ({}),\n})\n\nconst emit = defineEmits(['container-resized', 'resize', 'resized', 'move', 'moved'])\n\nconst layout = inject(LAYOUT_KEY)\nconst emitter = inject(EMITTER_KEY)!\n\nif (!layout) {\n  throw new Error('[grid-layout-plus]: missing layout store, GridItem must under a GridLayout.')\n}\n\nconst interactObj = shallowRef<InstanceType<\n  typeof import('@interactjs/types').Interactable\n> | null>(null)\n\nconst state = reactive({\n  cols: 1,\n  containerWidth: 100,\n  rowHeight: 30,\n  margin: [10, 10],\n  maxRows: Infinity,\n  draggable: undefined as boolean | undefined,\n  resizable: undefined as boolean | undefined,\n  bounded: undefined as boolean | undefined,\n  transformScale: 1,\n  useCssTransforms: true,\n  useStyleCursor: true,\n\n  isDragging: false,\n  dragging: {\n    top: -1,\n    left: -1,\n  },\n  isResizing: false,\n  resizing: {\n    width: -1,\n    height: -1,\n  },\n  style: {} as Record<string, string>,\n  rtl: false,\n})\n\nlet dragEventSet = false\nlet resizeEventSet = false\n\nlet lastX = NaN\nlet lastY = NaN\nlet lastW = NaN\nlet lastH = NaN\n\nlet previousW = -1\nlet previousH = -1\nlet previousX = -1\nlet previousY = -1\n\nlet innerX = props.x\nlet innerY = props.y\nlet innerW = props.w\nlet innerH = props.h\n\nconst wrapper = ref<HTMLElement>()\n\nconst instance = reactive({\n  i: toRef(props, 'i'),\n  state,\n  wrapper,\n  calcXY,\n})\n\nfunction updateWidthHandler(width: number) {\n  updateWidth(width)\n}\n\nfunction compactHandler() {\n  compact()\n}\n\nfunction setDraggableHandler(isDraggable: boolean) {\n  if (isNull(props.isDraggable)) {\n    state.draggable = isDraggable\n  }\n}\n\nfunction setResizableHandler(isResizable: boolean) {\n  if (isNull(props.isResizable)) {\n    state.resizable = isResizable\n  }\n}\n\nfunction setBoundedHandler(isBounded: boolean) {\n  if (isNull(props.isBounded)) {\n    state.bounded = isBounded\n  }\n}\n\nfunction setTransformScaleHandler(transformScale: number) {\n  state.transformScale = transformScale\n}\n\nfunction setRowHeightHandler(rowHeight: number) {\n  state.rowHeight = rowHeight\n}\n\nfunction setMaxRowsHandler(maxRows: number) {\n  state.maxRows = maxRows\n}\n\nfunction directionchangeHandler() {\n  state.rtl = getDocumentDir() === 'rtl'\n  compact()\n}\n\nfunction setColNum(colNum: number) {\n  state.cols = Math.floor(colNum)\n}\n\nlayout.increaseItem(instance)\n\nonBeforeMount(() => {\n  state.rtl = getDocumentDir() === 'rtl'\n})\n\nonMounted(() => {\n  if (layout.responsive && layout.lastBreakpoint) {\n    state.cols = getColsFromBreakpoint(layout.lastBreakpoint, layout.cols)\n  } else {\n    state.cols = layout.colNum\n  }\n  state.rowHeight = layout.rowHeight\n  state.containerWidth = layout.width !== null ? layout.width : 100\n  state.margin = layout.margin !== undefined ? layout.margin.map(Number) : [10, 10]\n  state.maxRows = layout.maxRows\n\n  if (isNull(props.isDraggable)) {\n    state.draggable = layout.isDraggable\n  } else {\n    state.draggable = props.isDraggable\n  }\n  if (isNull(props.isResizable)) {\n    state.resizable = layout.isResizable\n  } else {\n    state.resizable = props.isResizable\n  }\n  if (isNull(props.isBounded)) {\n    state.bounded = layout.isBounded\n  } else {\n    state.bounded = props.isBounded\n  }\n  state.transformScale = layout.transformScale\n  state.useCssTransforms = layout.useCssTransforms\n  state.useStyleCursor = layout.useStyleCursor\n\n  watchEffect(() => {\n    innerX = props.x\n    innerY = props.y\n    innerH = props.h\n    innerW = props.w\n    nextTickOnce(createStyle)\n  })\n\n  emitter.on('updateWidth', updateWidthHandler)\n  emitter.on('compact', compactHandler)\n  emitter.on('setDraggable', setDraggableHandler)\n  emitter.on('setResizable', setResizableHandler)\n  emitter.on('setBounded', setBoundedHandler)\n  emitter.on('setTransformScale', setTransformScaleHandler)\n  emitter.on('setRowHeight', setRowHeightHandler)\n  emitter.on('setMaxRows', setMaxRowsHandler)\n  emitter.on('directionchange', directionchangeHandler)\n  emitter.on('setColNum', setColNum)\n})\n\nonBeforeUnmount(() => {\n  emitter.off('updateWidth', updateWidthHandler)\n  emitter.off('compact', compactHandler)\n  emitter.off('setDraggable', setDraggableHandler)\n  emitter.off('setResizable', setResizableHandler)\n  emitter.off('setBounded', setBoundedHandler)\n  emitter.off('setTransformScale', setTransformScaleHandler)\n  emitter.off('setRowHeight', setRowHeightHandler)\n  emitter.off('setMaxRows', setMaxRowsHandler)\n  emitter.off('directionchange', directionchangeHandler)\n  emitter.off('setColNum', setColNum)\n\n  if (interactObj.value) {\n    interactObj.value.unset()\n    interactObj.value = null\n  }\n\n  layout.decreaseItem(instance)\n})\n\ndefineExpose({ state, wrapper })\n\nconst isAndroid =\n  typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase().includes('android') : false\n\nconst resizableAndNotStatic = computed(() => state.resizable && !props.static)\nconst renderRtl = computed(() => (layout.isMirrored ? !state.rtl : state.rtl))\nconst draggableOrResizableAndNotStatic = computed(() => {\n  return (state.draggable || state.resizable) && !props.static\n})\n\nconst nh = useNameHelper('item')\n\nconst className = computed(() => {\n  return {\n    [nh.b()]: true,\n    [nh.bm('resizable')]: resizableAndNotStatic.value,\n    [nh.bm('static')]: props.static,\n    [nh.bm('resizing')]: state.isResizing,\n    [nh.bm('dragging')]: state.isDragging,\n    [nh.bm('transform')]: state.useCssTransforms,\n    [nh.bm('rtl')]: renderRtl.value,\n    [nh.bm('no-touch')]: isAndroid && draggableOrResizableAndNotStatic.value,\n  }\n})\nconst resizerClass = computed(() => {\n  // return renderRtl.value ? 'vue-resizable-handle vue-rtl-resizable-handle' : 'vue-resizable-handle'\n  return [nh.be('resizer'), renderRtl.value && nh.bem('resizer', 'rtl')].filter(Boolean)\n})\n\nwatch(\n  () => props.isDraggable,\n  value => {\n    state.draggable = value\n  },\n)\nwatch(\n  () => props.static,\n  () => {\n    nextTickOnce(tryMakeDraggable)\n    nextTickOnce(tryMakeResizable)\n  },\n)\nwatch(\n  () => state.draggable,\n  () => {\n    nextTickOnce(tryMakeDraggable)\n  },\n)\nwatch(\n  () => props.isResizable,\n  value => {\n    state.resizable = value\n  },\n)\nwatch(\n  () => props.isBounded,\n  value => {\n    state.bounded = value\n  },\n)\nwatch(\n  () => state.resizable,\n  () => {\n    nextTickOnce(tryMakeResizable)\n  },\n)\nwatch(\n  () => state.rowHeight,\n  () => {\n    nextTickOnce(createStyle)\n    nextTickOnce(emitContainerResized)\n  },\n)\nwatch([() => state.cols, () => state.containerWidth], () => {\n  nextTickOnce(tryMakeResizable)\n  nextTickOnce(createStyle)\n  nextTickOnce(emitContainerResized)\n})\nwatch([() => props.minH, () => props.maxH, () => props.minW, () => props.maxW], () => {\n  nextTickOnce(tryMakeResizable)\n})\nwatch(renderRtl, () => {\n  nextTickOnce(tryMakeResizable)\n  nextTickOnce(createStyle)\n})\nwatch([() => layout.margin, () => layout.margin[0], () => layout.margin[1]], () => {\n  const margin = layout.margin\n\n  if (!margin || (margin[0] === state.margin[0] && margin[1] === state.margin[1])) {\n    return\n  }\n\n  state.margin = margin.map(Number)\n  nextTickOnce(createStyle)\n  nextTickOnce(emitContainerResized)\n})\n\nfunction createStyle() {\n  if (props.x + props.w > state.cols) {\n    innerX = 0\n    innerW = props.w > state.cols ? state.cols : props.w\n  } else {\n    innerX = props.x\n    innerW = props.w\n  }\n\n  const pos = calcPosition(innerX, innerY, innerW, innerH)\n\n  if (state.isDragging) {\n    pos.top = state.dragging.top\n    // Add rtl support\n    if (renderRtl.value) {\n      pos.right = state.dragging.left\n    } else {\n      pos.left = state.dragging.left\n    }\n  }\n  if (state.isResizing) {\n    pos.width = state.resizing.width\n    pos.height = state.resizing.height\n  }\n\n  let style\n  // CSS Transforms support (default)\n  if (state.useCssTransforms) {\n    // Add rtl support\n    if (renderRtl.value) {\n      style = setTransformRtl(pos.top, pos.right!, pos.width, pos.height)\n    } else {\n      style = setTransform(pos.top, pos.left!, pos.width, pos.height)\n    }\n  } else {\n    // top,left (slow)\n    // Add rtl support\n    if (renderRtl.value) {\n      style = setTopRight(pos.top, pos.right!, pos.width, pos.height)\n    } else {\n      style = setTopLeft(pos.top, pos.left!, pos.width, pos.height)\n    }\n  }\n\n  state.style = style\n}\n\nfunction emitContainerResized() {\n  // this.style has width and height with trailing 'px'. The\n  // resized event is without them\n  const styleProps: Record<string, string> = {}\n  for (const prop of ['width', 'height']) {\n    const val = state.style[prop]\n    const matches = val.match(/^(\\d+)px$/)\n    if (!matches) {\n      return\n    }\n    styleProps[prop] = matches[1]\n  }\n  emit('container-resized', props.i, props.h, props.w, styleProps.height, styleProps.width)\n}\n\nfunction handleResize(event: MouseEvent & { edges: any }) {\n  if (props.static) return\n\n  const type = event.type\n  if (\n    (type === 'resizestart' && state.isResizing) ||\n    (type !== 'resizestart' && !state.isResizing)\n  ) {\n    return\n  }\n\n  const position = getControlPosition(event)\n  // Get the current drag point from the event. This is used as the offset.\n  if (isNull(position)) return // not possible but satisfies flow\n\n  const { x, y } = position\n  const newSize = { width: 0, height: 0 }\n  let pos\n  switch (type) {\n    case 'resizestart': {\n      tryMakeResizable()\n      previousW = innerW\n      previousH = innerH\n      pos = calcPosition(innerX, innerY, innerW, innerH)\n      newSize.width = pos.width\n      newSize.height = pos.height\n      state.resizing = newSize\n      state.isResizing = true\n      break\n    }\n    case 'resizemove': {\n      // A vertical resize ignores the horizontal delta\n      if (!event.edges.right && !event.edges.left) {\n        lastW = x\n      }\n\n      // An horizontal resize ignores the vertical delta\n      if (!event.edges.top && !event.edges.bottom) {\n        lastH = y\n      }\n\n      const coreEvent = createCoreData(lastW, lastH, x, y)\n      if (renderRtl.value) {\n        newSize.width = state.resizing.width - coreEvent.deltaX / state.transformScale\n      } else {\n        newSize.width = state.resizing.width + coreEvent.deltaX / state.transformScale\n      }\n      newSize.height = state.resizing.height + coreEvent.deltaY / state.transformScale\n      state.resizing = newSize\n      break\n    }\n    case 'resizeend': {\n      pos = calcPosition(innerX, innerY, innerW, innerH)\n      newSize.width = pos.width\n      newSize.height = pos.height\n\n      state.resizing = { width: -1, height: -1 }\n      state.isResizing = false\n      break\n    }\n  }\n\n  // Get new WH\n  pos = calcWH(newSize.height, newSize.width)\n  if (pos.w < props.minW) {\n    pos.w = props.minW\n  }\n  if (pos.w > props.maxW) {\n    pos.w = props.maxW\n  }\n  if (pos.h < props.minH) {\n    pos.h = props.minH\n  }\n  if (pos.h > props.maxH) {\n    pos.h = props.maxH\n  }\n\n  if (pos.h < 1) {\n    pos.h = 1\n  }\n  if (pos.w < 1) {\n    pos.w = 1\n  }\n\n  lastW = x\n  lastH = y\n\n  if (innerW !== pos.w || innerH !== pos.h) {\n    emit('resize', props.i, pos.h, pos.w, newSize.height, newSize.width)\n  }\n  if (event.type === 'resizeend' && (previousW !== innerW || previousH !== innerH)) {\n    emit('resized', props.i, pos.h, pos.w, newSize.height, newSize.width)\n  }\n  emitter.emit('resizeEvent', event.type, props.i, innerX, innerY, pos.h, pos.w)\n}\n\nfunction handleDrag(event: MouseEvent) {\n  if (props.static || state.isResizing) return\n\n  const type = event.type\n  if ((type === 'dragstart' && state.isDragging) || (type !== 'dragstart' && !state.isDragging)) {\n    return\n  }\n\n  const position = getControlPosition(event)\n\n  // Get the current drag point from the event. This is used as the offset.\n  if (isNull(position)) return // not possible but satisfies flow\n  const { x, y } = position\n  const target = event.target as HTMLElement\n\n  if (!target.offsetParent) return\n\n  // let shouldUpdate = false;\n  const newPosition = { top: 0, left: 0 }\n  switch (type) {\n    case 'dragstart': {\n      previousX = innerX\n      previousY = innerY\n\n      const parentRect = target.offsetParent.getBoundingClientRect()\n      const clientRect = target.getBoundingClientRect()\n\n      const cLeft = clientRect.left / state.transformScale\n      const pLeft = parentRect.left / state.transformScale\n      const cRight = clientRect.right / state.transformScale\n      const pRight = parentRect.right / state.transformScale\n      const cTop = clientRect.top / state.transformScale\n      const pTop = parentRect.top / state.transformScale\n\n      if (renderRtl.value) {\n        newPosition.left = (cRight - pRight) * -1\n      } else {\n        newPosition.left = cLeft - pLeft\n      }\n      newPosition.top = cTop - pTop\n      state.dragging = newPosition\n      state.isDragging = true\n      break\n    }\n    case 'dragmove': {\n      const coreEvent = createCoreData(lastX, lastY, x, y)\n      // Add rtl support\n      if (renderRtl.value) {\n        newPosition.left = state.dragging.left - coreEvent.deltaX / state.transformScale\n      } else {\n        newPosition.left = state.dragging.left + coreEvent.deltaX / state.transformScale\n      }\n      newPosition.top = state.dragging.top + coreEvent.deltaY / state.transformScale\n      if (state.bounded) {\n        const bottomBoundary =\n          target.offsetParent.clientHeight -\n          calcGridItemWHPx(props.h, state.rowHeight, state.margin[1])\n        newPosition.top = clamp(newPosition.top, 0, bottomBoundary)\n        const colWidth = calcColWidth()\n        const rightBoundary =\n          state.containerWidth - calcGridItemWHPx(props.w, colWidth, state.margin[0])\n        newPosition.left = clamp(newPosition.left, 0, rightBoundary)\n      }\n\n      state.dragging = newPosition\n      break\n    }\n    case 'dragend': {\n      const parentRect = target.offsetParent.getBoundingClientRect()\n      const clientRect = target.getBoundingClientRect()\n\n      const cLeft = clientRect.left / state.transformScale\n      const pLeft = parentRect.left / state.transformScale\n      const cRight = clientRect.right / state.transformScale\n      const pRight = parentRect.right / state.transformScale\n      const cTop = clientRect.top / state.transformScale\n      const pTop = parentRect.top / state.transformScale\n\n      // Add rtl support\n      if (renderRtl.value) {\n        newPosition.left = (cRight - pRight) * -1\n      } else {\n        newPosition.left = cLeft - pLeft\n      }\n      newPosition.top = cTop - pTop\n      state.dragging = { top: -1, left: -1 }\n      state.isDragging = false\n      break\n    }\n  }\n\n  // Get new XY\n  let pos\n  if (renderRtl.value) {\n    pos = calcXY(newPosition.top, newPosition.left)\n  } else {\n    pos = calcXY(newPosition.top, newPosition.left)\n  }\n\n  lastX = x\n  lastY = y\n\n  if (innerX !== pos.x || innerY !== pos.y) {\n    emit('move', props.i, pos.x, pos.y)\n  }\n  if (event.type === 'dragend' && (previousX !== innerX || previousY !== innerY)) {\n    emit('moved', props.i, pos.x, pos.y)\n  }\n  emitter.emit('dragEvent', event.type, props.i, pos.x, pos.y, innerH, innerW)\n}\n\nfunction calcPosition(x: number, y: number, w: number, h: number) {\n  const colWidth = calcColWidth()\n  // add rtl support\n  let out\n  if (renderRtl.value) {\n    out = {\n      right: Math.round(colWidth * x + (x + 1) * state.margin[0]),\n      top: Math.round(state.rowHeight * y + (y + 1) * state.margin[1]),\n      // 0 * Infinity === NaN, which causes problems with resize constraints;\n      // Fix this if it occurs.\n      // Note we do it here rather than later because Math.round(Infinity) causes depot\n      width: w === Infinity ? w : Math.round(colWidth * w + Math.max(0, w - 1) * state.margin[0]),\n      height:\n        h === Infinity ? h : Math.round(state.rowHeight * h + Math.max(0, h - 1) * state.margin[1]),\n    }\n  } else {\n    out = {\n      left: Math.round(colWidth * x + (x + 1) * state.margin[0]),\n      top: Math.round(state.rowHeight * y + (y + 1) * state.margin[1]),\n      // 0 * Infinity === NaN, which causes problems with resize constraints;\n      // Fix this if it occurs.\n      // Note we do it here rather than later because Math.round(Infinity) causes depot\n      width: w === Infinity ? w : Math.round(colWidth * w + Math.max(0, w - 1) * state.margin[0]),\n      height:\n        h === Infinity ? h : Math.round(state.rowHeight * h + Math.max(0, h - 1) * state.margin[1]),\n    }\n  }\n\n  return out\n}\n\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param top  Top position (relative to parent) in pixels.\n * @param left Left position (relative to parent) in pixels.\n * @return x and y in grid units.\n */\n// TODO check if this function needs change in order to support rtl.\nfunction calcXY(top: number, left: number) {\n  const colWidth = calcColWidth()\n\n  // left = colWidth * x + margin * (x + 1)\n  // l = cx + m(x+1)\n  // l = cx + mx + m\n  // l - m = cx + mx\n  // l - m = x(c + m)\n  // (l - m) / (c + m) = x\n  // x = (left - margin) / (coldWidth + margin)\n  let x = Math.round((left - state.margin[0]) / (colWidth + state.margin[0]))\n  let y = Math.round((top - state.margin[1]) / (state.rowHeight + state.margin[1]))\n\n  // Capping\n  x = Math.max(Math.min(x, state.cols - innerW), 0)\n  y = Math.max(Math.min(y, state.maxRows - innerH), 0)\n\n  return { x, y }\n}\n\nfunction calcColWidth() {\n  return (state.containerWidth - state.margin[0] * (state.cols + 1)) / state.cols\n}\n\nfunction calcGridItemWHPx(gridUnits: number, colOrRowSize: number, marginPx: number) {\n  // 0 * Infinity === NaN, which causes problems with resize constraints\n  if (!Number.isFinite(gridUnits)) return gridUnits\n  return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx)\n}\n\nfunction clamp(num: number, lowerBound: number, upperBound: number) {\n  return Math.max(Math.min(num, upperBound), lowerBound)\n}\n\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param height Height in pixels.\n * @param width  Width in pixels.\n * @param autoSizeFlag  function autoSize identifier.\n * @return w, h as grid units.\n */\nfunction calcWH(height: number, width: number, autoSizeFlag = false) {\n  const colWidth = calcColWidth()\n\n  // width = colWidth * w - (margin * (w - 1))\n  // ...\n  // w = (width + margin) / (colWidth + margin)\n  let w = Math.round((width + state.margin[0]) / (colWidth + state.margin[0]))\n  let h = 0\n  if (!autoSizeFlag) {\n    h = Math.round((height + state.margin[1]) / (state.rowHeight + state.margin[1]))\n  } else {\n    h = Math.ceil((height + state.margin[1]) / (state.rowHeight + state.margin[1]))\n  }\n\n  // Capping\n  w = Math.max(Math.min(w, state.cols - innerX), 0)\n  h = Math.max(Math.min(h, state.maxRows - innerY), 0)\n  return { w, h }\n}\n\nfunction updateWidth(width: number, colNum?: number) {\n  state.containerWidth = width\n  if (colNum !== undefined && colNum !== null) {\n    state.cols = colNum\n  }\n}\n\nfunction compact() {\n  createStyle()\n}\n\nfunction tryInteract() {\n  if (!interactObj.value && wrapper.value) {\n    interactObj.value = interact(wrapper.value)\n    if (!state.useStyleCursor) {\n      interactObj.value.styleCursor(false)\n    }\n  }\n}\n\nconst throttleDrag = throttle(handleDrag)\n\nfunction tryMakeDraggable() {\n  tryInteract()\n\n  if (!interactObj.value) return\n\n  if (state.draggable && !props.static) {\n    const opts = {\n      ignoreFrom: props.dragIgnoreFrom,\n      allowFrom: props.dragAllowFrom,\n      ...props.dragOption,\n    }\n    interactObj.value.draggable(opts)\n\n    if (!dragEventSet) {\n      dragEventSet = true\n      interactObj.value.on('dragstart dragmove dragend', event => {\n        event.type === 'dragmove' ? throttleDrag(event) : handleDrag(event)\n      })\n    }\n  } else {\n    interactObj.value.draggable({ enabled: false })\n  }\n}\n\nconst throttleResize = throttle(handleResize)\n\nfunction tryMakeResizable() {\n  tryInteract()\n\n  if (!interactObj.value) return\n\n  if (state.resizable && !props.static) {\n    const maximum = calcPosition(0, 0, props.maxW, props.maxH)\n    const minimum = calcPosition(0, 0, props.minW, props.minH)\n\n    const opts: Record<string, any> = {\n      edges: {\n        left: renderRtl.value ? `.${resizerClass.value[0]}` : false,\n        right: !renderRtl.value ? `.${resizerClass.value[0]}` : false,\n        bottom: `.${resizerClass.value[0]}`,\n        top: false,\n      },\n      ignoreFrom: props.resizeIgnoreFrom,\n      restrictSize: {\n        min: {\n          height: minimum.height * state.transformScale,\n          width: minimum.width * state.transformScale,\n        },\n        max: {\n          height: maximum.height * state.transformScale,\n          width: maximum.width * state.transformScale,\n        },\n      },\n      ...props.resizeOption,\n    }\n\n    if (props.preserveAspectRatio) {\n      opts.modifiers = [interact.modifiers.aspectRatio({ ratio: 'preserve' })]\n    }\n\n    interactObj.value.resizable(opts)\n    if (!resizeEventSet) {\n      resizeEventSet = true\n      interactObj.value.on('resizestart resizemove resizeend', event => {\n        event.type === 'resizemove' ? throttleResize(event) : handleResize(event)\n      })\n    }\n  } else {\n    interactObj.value.resizable({ enabled: false })\n  }\n}\n</script>\n\n<template>\n  <section ref=\"wrapper\" :class=\"className\" :style=\"state.style\">\n    <slot></slot>\n    <span v-if=\"resizableAndNotStatic\" :class=\"resizerClass\"></span>\n  </section>\n</template>\n","import { computed as W, watch as J, unref as E, getCurrentScope as _e, onScopeDispose as Q, ref as k, onMounted as rt, nextTick as _t, onBeforeUnmount as ot, renderSlot as mn, isVNode as pn, Comment as vn, createTextVNode as gn, Fragment as bn, readonly as Nt, toRef as yn, isRef as se, customRef as wn, reactive as Ye, shallowRef as $e, watchEffect as mt } from \"vue\";\nconst D = typeof window < \"u\";\nvar pt;\nD && ((pt = window == null ? void 0 : window.navigator) != null && pt.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nfunction Ke(e) {\n  return e != null;\n}\nfunction P() {\n}\nconst xn = Object.freeze({\n  aliceblue: \"f0f8ff\",\n  antiquewhite: \"faebd7\",\n  aqua: \"0ff\",\n  aquamarine: \"7fffd4\",\n  azure: \"f0ffff\",\n  beige: \"f5f5dc\",\n  bisque: \"ffe4c4\",\n  black: \"000\",\n  blanchedalmond: \"ffebcd\",\n  blue: \"00f\",\n  blueviolet: \"8a2be2\",\n  brown: \"a52a2a\",\n  burlywood: \"deb887\",\n  burntsienna: \"ea7e5d\",\n  cadetblue: \"5f9ea0\",\n  chartreuse: \"7fff00\",\n  chocolate: \"d2691e\",\n  coral: \"ff7f50\",\n  cornflowerblue: \"6495ed\",\n  cornsilk: \"fff8dc\",\n  crimson: \"dc143c\",\n  cyan: \"0ff\",\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: \"f0f\",\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  lavender: \"e6e6fa\",\n  lavenderblush: \"fff0f5\",\n  lawngreen: \"7cfc00\",\n  lemonchiffon: \"fffacd\",\n  lightblue: \"add8e6\",\n  lightcoral: \"f08080\",\n  lightcyan: \"e0ffff\",\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: \"789\",\n  lightslategrey: \"789\",\n  lightsteelblue: \"b0c4de\",\n  lightyellow: \"ffffe0\",\n  lime: \"0f0\",\n  limegreen: \"32cd32\",\n  linen: \"faf0e6\",\n  magenta: \"f0f\",\n  maroon: \"800000\",\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  rebeccapurple: \"663399\",\n  red: \"f00\",\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: \"fff\",\n  whitesmoke: \"f5f5f5\",\n  yellow: \"ff0\",\n  yellowgreen: \"9acd32\"\n});\nObject.freeze(new Set(Object.keys(xn)));\nfunction vt(e) {\n  return e & -e;\n}\nfunction En(e, t = 0) {\n  const n = new Array(e + 1).fill(0);\n  function r(c, a) {\n    if (!(!a || c >= e))\n      for (c += 1; c <= e; )\n        n[c] += a, c += vt(c);\n  }\n  function o(c = e) {\n    if (c <= 0) return 0;\n    c > e && (c = e);\n    let a = c * t;\n    for (; c > 0; )\n      a += n[c], c -= vt(c);\n    return a;\n  }\n  function i(c) {\n    return o(c + 1) - o(c);\n  }\n  function s(c) {\n    let a = 0, l = e;\n    for (; l > a; ) {\n      const f = Math.floor((a + l) / 2), d = o(f);\n      if (d > c) {\n        l = f;\n        continue;\n      } else if (d < c) {\n        if (a === f)\n          return o(a + 1) <= c ? a + 1 : a;\n        a = f;\n      } else\n        return f;\n    }\n    return a;\n  }\n  return { tree: n, add: r, sum: o, get: i, boundIndex: s };\n}\nfunction Rn(e) {\n  let t = parseFloat(e);\n  return Number.isNaN(t) && (t = Number(e)), Number.isNaN(t) ? 0 : t;\n}\nconst Tn = D && (\"ontouchstart\" in window || On() > 0), Sn = Tn ? \"pointerdown\" : \"click\";\nfunction On() {\n  return typeof navigator < \"u\" && (navigator.maxTouchPoints || navigator.msMaxTouchPoints) || 0;\n}\nfunction kn(e, t, n = window.Event) {\n  const { type: r, bubbles: o = !1, cancelable: i = !1, ...s } = t;\n  if (!Ke(r) || r === \"\") return !1;\n  let c;\n  return Ke(n) ? c = new n(r, { bubbles: o, cancelable: i }) : (c = document.createEvent(\"HTMLEvents\"), c.initEvent(r, o, i)), Object.assign(c, s), e.dispatchEvent(c);\n}\nconst zn = D ? requestAnimationFrame : (e) => {\n  setTimeout(e, 16);\n};\nfunction Wt(e, t = 16) {\n  if (typeof e != \"function\")\n    return P;\n  const n = (...i) => {\n    e(...i);\n  };\n  if (t <= 0)\n    return An(n);\n  let r = 0, o;\n  return function(...i) {\n    const s = Date.now(), c = s - r;\n    clearTimeout(o), c >= t ? (r = s, n(...i)) : o = setTimeout(\n      () => {\n        r = Date.now(), n(...i);\n      },\n      Math.max(0, t - c)\n    );\n  };\n}\nfunction An(e) {\n  if (typeof e != \"function\")\n    return e;\n  let t = !1, n, r;\n  return function(...o) {\n    return n = o, t || (t = !0, r = Promise.resolve().then(() => (t = !1, r = void 0, e(...n)))), r;\n  };\n}\nconst ve = /* @__PURE__ */ new Set(), It = /* @__PURE__ */ new WeakMap();\nfunction Cn() {\n  ve.forEach((e) => {\n    e(...It.get(e));\n  }), ve.clear();\n}\nfunction Mn(e, ...t) {\n  if (typeof e != \"function\")\n    return e;\n  It.set(e, t), !ve.has(e) && (ve.add(e), ve.size === 1 && zn(Cn));\n}\nfunction Ht(e) {\n  return Array.isArray(e) ? e : [e];\n}\nfunction K(e, t, n, r) {\n  if (!e)\n    return P;\n  const o = W(() => typeof r == \"boolean\" ? { capture: r } : r || {});\n  let i = P;\n  const s = J(\n    () => E(e),\n    (a) => {\n      if (i(), !a)\n        return;\n      const { disabled: l, ...f } = o.value, d = (p) => {\n        E(l) || n(p);\n      };\n      a.addEventListener(t, d, f), i = () => {\n        a.removeEventListener(t, d, f), i = P;\n      };\n    },\n    { immediate: !0, flush: \"post\" }\n  ), c = () => {\n    s(), i();\n  };\n  return _e() && Q(c), c;\n}\nconst $t = \"clickoutside\", Ue = /* @__PURE__ */ new Set();\nD && document.addEventListener(\n  Sn,\n  (e) => {\n    const t = e.target, n = e.composedPath && e.composedPath();\n    Ue.forEach((r) => {\n      r !== t && (n ? !n.includes(r) : !r.contains(t)) && (!r.__transferElement || r.__transferElement !== t && !r.__transferElement.contains(t)) && kn(r, { type: $t });\n    });\n  },\n  !0\n);\nfunction oo(e, t = k(null)) {\n  let n = P;\n  const r = J(\n    () => E(t),\n    (i) => {\n      n(), i && (Ue.add(i), n = () => {\n        Ue.delete(i), n = P;\n      });\n    },\n    { immediate: !0, flush: \"post\" }\n  ), o = () => {\n    r(), n();\n  };\n  return _e() && Q(o), K(t, $t, e), t;\n}\nfunction io(e = P, t = k(null)) {\n  let n;\n  return rt(() => {\n    _t(() => {\n      const r = Vt(t.value);\n      r ? (n = new MutationObserver(() => {\n        r.style.display !== \"none\" && (typeof e == \"function\" && e(), n == null || n.disconnect(), n = null);\n      }), n.observe(r, {\n        attributes: !0,\n        childList: !0,\n        characterData: !0,\n        attributeFilter: [\"style\"]\n      })) : typeof e == \"function\" && e();\n    });\n  }), ot(() => {\n    n == null || n.disconnect(), n = null;\n  }), t;\n}\nfunction Vt(e) {\n  if (e) {\n    let t = e.parentElement;\n    for (; t && t !== document.body; ) {\n      if (t.style.display === \"none\")\n        return t;\n      t = t.parentElement;\n    }\n  }\n  return null;\n}\nfunction gt(e) {\n  return (e == null ? void 0 : e.style.display) !== \"none\" ? !!Vt(e) : !0;\n}\nfunction so(e, t, n) {\n  for (const r of t)\n    if (e[r])\n      return (o) => mn(e, r, o, () => {\n        const i = n == null ? void 0 : n(o);\n        return i ? Ht(i) : [];\n      });\n  return n || null;\n}\nfunction co(e) {\n  const t = [], n = Array.isArray(e) ? [...e] : [];\n  for (; n.length; ) {\n    const r = n.shift();\n    r !== null && (Array.isArray(r) && n.unshift(...r), !(typeof r != \"string\" && typeof r != \"number\" && (!pn(r) || r.type === vn)) && (typeof r == \"string\" || typeof r == \"number\" ? t.push(gn(String(r))) : r.type === bn && Array.isArray(r.children) ? n.unshift(r.children) : t.push(r)));\n  }\n  return t;\n}\nfunction Re(e) {\n  const t = E(e);\n  return typeof t == \"string\" ? D ? document.querySelector(t) : null : (t == null ? void 0 : t.$el) ?? t;\n}\nfunction ao(e) {\n  return new Proxy({}, {\n    get(t, n) {\n      var r, o, i;\n      if (e.component)\n        return ((r = e.component.proxy) == null ? void 0 : r[n]) ?? ((o = e.component.exposeProxy) == null ? void 0 : o[n]) ?? ((i = e.component.exposed) == null ? void 0 : i[n]);\n    }\n  });\n}\nfunction lo(...e) {\n  const t = k(!0), n = e[1] || P;\n  function r() {\n    t.value = !1;\n  }\n  function o() {\n    t.value = !0;\n  }\n  const i = J(\n    e[0],\n    (...s) => new Promise((c, a) => {\n      t.value && Promise.resolve(n(...s)).then(c).catch(a);\n    }),\n    e[2]\n  );\n  return { active: Nt(t), pause: r, resume: o, stop: i };\n}\nfunction fo(e, t) {\n  return t.map((n) => yn(e, n));\n}\nconst Ln = [\n  [\n    \"requestFullscreen\",\n    \"exitFullscreen\",\n    \"fullscreenElement\",\n    \"fullscreenEnabled\",\n    \"fullscreenchange\",\n    \"fullscreenerror\"\n  ],\n  // New WebKit\n  [\n    \"webkitRequestFullscreen\",\n    \"webkitExitFullscreen\",\n    \"webkitFullscreenElement\",\n    \"webkitFullscreenEnabled\",\n    \"webkitfullscreenchange\",\n    \"webkitfullscreenerror\"\n  ],\n  // Old WebKit\n  [\n    \"webkitRequestFullScreen\",\n    \"webkitCancelFullScreen\",\n    \"webkitCurrentFullScreenElement\",\n    \"webkitCancelFullScreen\",\n    \"webkitfullscreenchange\",\n    \"webkitfullscreenerror\"\n  ],\n  [\n    \"mozRequestFullScreen\",\n    \"mozCancelFullScreen\",\n    \"mozFullScreenElement\",\n    \"mozFullScreenEnabled\",\n    \"mozfullscreenchange\",\n    \"mozfullscreenerror\"\n  ],\n  [\n    \"msRequestFullscreen\",\n    \"msExitFullscreen\",\n    \"msFullscreenElement\",\n    \"msFullscreenEnabled\",\n    \"MSFullscreenChange\",\n    \"MSFullscreenError\"\n  ]\n];\nlet ce;\nif (D) {\n  for (const e of Ln)\n    if (e[1] in document) {\n      ce = e;\n      break;\n    }\n}\nconst Ge = !!ce, Bn = {\n  supported: Ge,\n  full: W(() => !1),\n  enter: P,\n  exit: P,\n  toggle: P\n}, qt = /* @__PURE__ */ new Set(), Je = /* @__PURE__ */ new WeakMap();\nif (D && ce) {\n  const e = ce[2], t = ce[4];\n  document.addEventListener(\n    t,\n    () => {\n      if (qt.forEach((n) => {\n        n.value = !1;\n      }), document[e]) {\n        const n = Je.get(document[e]);\n        n && (n.value = !0);\n      }\n    },\n    !1\n  );\n}\nfunction uo(e = k(null)) {\n  const t = W({\n    get: () => Re(e),\n    set: (l) => {\n      se(e) && (e.value = l);\n    }\n  });\n  if (!D || !Ge)\n    return { ...Bn, target: t };\n  const [n, r, o] = ce, i = k(!1);\n  J(\n    () => Re(e),\n    (l, f) => {\n      f && Je.delete(f), l && Je.set(l, i);\n    },\n    { immediate: !0, flush: \"post\" }\n  ), qt.add(i), _e() && Q(c);\n  async function s(l = !1) {\n    await c();\n    const f = Re(e);\n    return f && (l || !document[o]) ? (await f[n](), i.value = !0, document[o] === f) : !1;\n  }\n  async function c(l = !1) {\n    const f = Re(e);\n    return l || document[o] && document[o] === f ? (await document[r](), i.value = !1, document[o] !== f) : !1;\n  }\n  async function a(l = !1) {\n    return i.value ? await c(l) : await s(l);\n  }\n  return {\n    supported: Ge,\n    target: t,\n    full: W(() => i.value),\n    enter: s,\n    exit: c,\n    toggle: a\n  };\n}\nfunction ho(e = k(null)) {\n  const t = k(!1);\n  K(e, \"mouseenter\", n), K(e, \"mouseleave\", r);\n  function n() {\n    t.value = !0;\n  }\n  function r() {\n    t.value = !1;\n  }\n  return { wrapper: e, isHover: t };\n}\nconst Te = /* @__PURE__ */ new WeakMap(), Pn = /\\s+/g, Dn = /(px|%)$/;\nfunction mo(e) {\n  const t = e.target || k(null);\n  if (!D)\n    return { target: t, disconnect: P };\n  const { handler: n } = e;\n  let r = e.root ?? document;\n  const o = Ht(e.threshold || 0).join() || \"0\", i = m(e.rootMargin);\n  Te.has(r) || Te.set(r, /* @__PURE__ */ new Map());\n  const s = Te.get(r);\n  s.has(o) || s.set(o, /* @__PURE__ */ new Map());\n  const c = s.get(o);\n  c.has(i) || c.set(i, {\n    ob: new IntersectionObserver(b, { ...e, rootMargin: i }),\n    count: 0,\n    handlers: /* @__PURE__ */ new WeakMap()\n  });\n  let a = c.get(i), { ob: l, handlers: f } = a, d = P;\n  const p = J(\n    () => E(t),\n    (v) => {\n      d(), !(!v || !l) && (f.set(v, n), l.observe(v), a && a.count++, d = () => {\n        l.unobserve(v), f.delete(v), a && a.count--, d = P;\n      });\n    },\n    { immediate: !0, flush: \"post\" }\n  );\n  _e() && Q(g);\n  function m(v) {\n    if (!v || !v.trim()) return \"_\";\n    const h = v.trim().split(Pn, 4);\n    h.length = 4;\n    for (let u = 0; u < 4; ++u) {\n      const y = h[u];\n      h[u] = Dn.test(y) ? y : `${Rn(y)}px`;\n    }\n    return h.join(\" \");\n  }\n  function b(v) {\n    for (let h = 0, u = v.length; h < u; ++h) {\n      const y = v[h], O = f.get(y.target);\n      typeof O == \"function\" && O(y);\n    }\n  }\n  function g() {\n    p(), d(), a && (a.count <= 0 && (c.delete(i), c.size || (s.delete(o), s.size || Te.delete(r))), a = void 0, l = void 0, f = void 0, r = void 0);\n  }\n  return { target: t, disconnect: g };\n}\nfunction po() {\n  const e = /* @__PURE__ */ new Set();\n  function t(r) {\n    return wn((o, i) => {\n      let s = r;\n      const c = () => {\n        r !== s && (s = r, i());\n      };\n      return {\n        get: () => (o(), r),\n        set: (a) => {\n          a !== r && (r = a, e.add(c));\n        }\n      };\n    });\n  }\n  function n() {\n    for (const r of e)\n      r();\n    e.clear();\n  }\n  return { updateSet: e, manualRef: t, triggerUpdate: n };\n}\nconst Fn = {\n  ctrl: \"control\",\n  command: \"meta\",\n  cmd: \"meta\",\n  option: \"alt\",\n  up: \"arrowup\",\n  down: \"arrowdown\",\n  left: \"arrowleft\",\n  right: \"arrowright\"\n}, _n = /[+_-]/, Nn = /[+_-]/g, Wn = [\"activeKeys\", \"resetAll\"];\nfunction vo(e = {}) {\n  const {\n    autoReset: t = !0,\n    capture: n = !1,\n    passive: r = !0,\n    strictTarget: o = !1,\n    onKeyDown: i = P,\n    onKeyUp: s = P\n  } = e, c = e.target || k(null), a = se(e.disabled) ? e.disabled : k(e.disabled || !1), l = { ...Fn, ...e.aliasMap || {} }, f = Ye(/* @__PURE__ */ new Set()), d = /* @__PURE__ */ new Set(), p = Ye({ activeKeys: f, resetAll: g });\n  function m(h, u) {\n    h in p && (p[h] = u);\n  }\n  function b(h, u) {\n    var S, C;\n    const y = (S = h.key) == null ? void 0 : S.toLocaleLowerCase(), R = [(C = h.code) == null ? void 0 : C.toLocaleLowerCase(), y].filter(Boolean);\n    for (const z of R)\n      f[u ? \"add\" : \"delete\"](z), m(z, u);\n    if (!u && y === \"meta\") {\n      for (const z of d)\n        f.delete(z), m(z, !1);\n      d.clear();\n    } else if (u && typeof h.getModifierState == \"function\" && h.getModifierState(\"Meta\"))\n      for (const z of [...f, ...R])\n        d.add(z);\n  }\n  function g() {\n    Object.keys(p).forEach((h) => {\n      p[h] = !1;\n    }), p.activeKeys = f, p.resetAll = g;\n  }\n  const v = new Proxy(p, {\n    get(h, u, y) {\n      if (typeof u != \"string\" || Wn.includes(u))\n        return Reflect.get(h, u, y);\n      if (u = u.toLocaleLowerCase(), u in l && (u = l[u]), !(u in p))\n        if (_n.test(u)) {\n          const O = u.split(Nn).map((R) => R.trim());\n          p[u] = W(() => O.every((R) => E(v[R])));\n        } else\n          p[u] = k(f.has(u));\n      return E(Reflect.get(h, u, y));\n    }\n  });\n  return K(\n    c,\n    \"keydown\",\n    (h) => {\n      o && h.target !== E(c) || (b(h, !0), i(h, v));\n    },\n    { capture: n, passive: r, disabled: a }\n  ), K(\n    c,\n    \"keyup\",\n    (h) => {\n      o && h.target !== E(c) || (b(h, !1), s(h, v));\n    },\n    { capture: n, passive: r, disabled: a }\n  ), t && K(c, \"blur\", g, { capture: n, passive: r, disabled: a }), { target: c, modifier: v };\n}\nfunction go(e) {\n  const t = k(!1), n = () => t.value = !0;\n  return rt(() => {\n    e === \"tick\" ? _t(n) : e === \"frame\" ? requestAnimationFrame(n) : n();\n  }), ot(() => {\n    t.value = !1;\n  }), { isMounted: Nt(t) };\n}\nfunction Ve(e) {\n  e.cancelable && (e.stopPropagation(), e.preventDefault());\n}\nfunction bo(e) {\n  const t = e.target || k(null), n = se(e.x) ? e.x : k(0), r = se(e.y) ? e.y : k(0), o = se(e.lazy) ? e.lazy : k(e.lazy || !1), i = se(e.disabled) ? e.disabled : k(e.disabled || !1), { capture: s = !0, stopMouse: c = !0, stopTouch: a = !0 } = e, l = k(!1), f = {\n    xStart: 0,\n    yStart: 0,\n    xEnd: 0,\n    yEnd: 0,\n    clientX: 0,\n    clientY: 0,\n    deltaX: 0,\n    deltaY: 0,\n    lazy: !1\n  };\n  let d = 0, p = 0;\n  const m = Wt((u) => {\n    var y;\n    p < d || (h(u), f.lazy || (n.value = f.xEnd, r.value = f.yEnd), (y = e.onMove) == null || y.call(e, f, u));\n  });\n  function b(u) {\n    var y;\n    i.value || (Object.assign(f, {\n      xStart: n.value,\n      yStart: r.value,\n      xEnd: n.value,\n      yEnd: r.value,\n      clientX: u.clientX,\n      clientY: u.clientY,\n      lazy: o.value\n    }), ((y = e.onStart) == null ? void 0 : y.call(e, f, u)) !== !1 && (document.addEventListener(\"pointermove\", g, { capture: s }), document.addEventListener(\"pointerup\", v, { capture: s }), p = d, l.value = !0));\n  }\n  function g(u) {\n    i.value || (Ve(u), m(u));\n  }\n  function v(u) {\n    var y;\n    document.removeEventListener(\"pointermove\", g, { capture: s }), document.removeEventListener(\"pointerup\", v, { capture: s }), !i.value && (h(u), f.lazy && (n.value = f.xEnd, r.value = f.yEnd), l.value = !1, ++d, (y = e.onEnd) == null || y.call(e, f, u));\n  }\n  function h(u) {\n    const { clientX: y, clientY: O } = u, { xStart: R, yStart: S, clientX: C, clientY: z } = f, L = y - C, B = O - z;\n    f.deltaX = L, f.deltaY = B, f.xEnd = R + L, f.yEnd = S + B;\n  }\n  return K(t, \"pointerdown\", b, { capture: s }), c && K(t, \"mousedown\", Ve, { capture: s }), a && K(t, \"touchstart\", Ve, { capture: s }), {\n    target: t,\n    moving: W(() => l.value),\n    x: n,\n    y: r,\n    lazy: o,\n    disabled: i\n  };\n}\nconst be = /* @__PURE__ */ new Set(), U = /* @__PURE__ */ new Map();\nU.set(\"x\", 0);\nU.set(\"y\", 0);\nfunction In(e) {\n  const { pageX: t, pageY: n } = e;\n  U.set(\"x\", t), U.set(\"y\", n), be.forEach((r) => {\n    r.x.value = t, r.y.value = n;\n  });\n}\nconst Xt = Wt(In);\nfunction Hn(e) {\n  !be.size && window && (U.set(\"x\", 0), U.set(\"y\", 0), window.addEventListener(\"pointermove\", Xt, { passive: !0 })), be.add(e);\n}\nfunction bt(e) {\n  be.delete(e), !be.size && window && window.removeEventListener(\"pointermove\", Xt);\n}\nfunction yo(e = {}) {\n  const t = k(e.x ?? U.get(\"x\")), n = k(e.y ?? U.get(\"y\")), r = { x: t, y: n };\n  return Hn(r), e.manualStop || ot(() => {\n    bt(r);\n  }), { ...r, unregister: () => bt(r) };\n}\nconst $n = [\"top\", \"right\", \"bottom\", \"left\"], fe = Math.min, te = Math.max, Me = Math.round, Se = Math.floor, X = (e) => ({\n  x: e,\n  y: e\n}), Vn = {\n  left: \"right\",\n  right: \"left\",\n  bottom: \"top\",\n  top: \"bottom\"\n}, qn = {\n  start: \"end\",\n  end: \"start\"\n};\nfunction Qe(e, t, n) {\n  return te(e, fe(t, n));\n}\nfunction he(e, t) {\n  return typeof e == \"function\" ? e(t) : e;\n}\nfunction oe(e) {\n  return e.split(\"-\")[0];\n}\nfunction xe(e) {\n  return e.split(\"-\")[1];\n}\nfunction jt(e) {\n  return e === \"x\" ? \"y\" : \"x\";\n}\nfunction it(e) {\n  return e === \"y\" ? \"height\" : \"width\";\n}\nfunction ue(e) {\n  return [\"top\", \"bottom\"].includes(oe(e)) ? \"y\" : \"x\";\n}\nfunction st(e) {\n  return jt(ue(e));\n}\nfunction Xn(e, t, n) {\n  n === void 0 && (n = !1);\n  const r = xe(e), o = st(e), i = it(o);\n  let s = o === \"x\" ? r === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : r === \"start\" ? \"bottom\" : \"top\";\n  return t.reference[i] > t.floating[i] && (s = Le(s)), [s, Le(s)];\n}\nfunction jn(e) {\n  const t = Le(e);\n  return [Ze(e), t, Ze(t)];\n}\nfunction Ze(e) {\n  return e.replace(/start|end/g, (t) => qn[t]);\n}\nfunction Yn(e, t, n) {\n  const r = [\"left\", \"right\"], o = [\"right\", \"left\"], i = [\"top\", \"bottom\"], s = [\"bottom\", \"top\"];\n  switch (e) {\n    case \"top\":\n    case \"bottom\":\n      return n ? t ? o : r : t ? r : o;\n    case \"left\":\n    case \"right\":\n      return t ? i : s;\n    default:\n      return [];\n  }\n}\nfunction Kn(e, t, n, r) {\n  const o = xe(e);\n  let i = Yn(oe(e), n === \"start\", r);\n  return o && (i = i.map((s) => s + \"-\" + o), t && (i = i.concat(i.map(Ze)))), i;\n}\nfunction Le(e) {\n  return e.replace(/left|right|bottom|top/g, (t) => Vn[t]);\n}\nfunction Un(e) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...e\n  };\n}\nfunction Yt(e) {\n  return typeof e != \"number\" ? Un(e) : {\n    top: e,\n    right: e,\n    bottom: e,\n    left: e\n  };\n}\nfunction Be(e) {\n  const {\n    x: t,\n    y: n,\n    width: r,\n    height: o\n  } = e;\n  return {\n    width: r,\n    height: o,\n    top: n,\n    left: t,\n    right: t + r,\n    bottom: n + o,\n    x: t,\n    y: n\n  };\n}\nfunction yt(e, t, n) {\n  let {\n    reference: r,\n    floating: o\n  } = e;\n  const i = ue(t), s = st(t), c = it(s), a = oe(t), l = i === \"y\", f = r.x + r.width / 2 - o.width / 2, d = r.y + r.height / 2 - o.height / 2, p = r[c] / 2 - o[c] / 2;\n  let m;\n  switch (a) {\n    case \"top\":\n      m = {\n        x: f,\n        y: r.y - o.height\n      };\n      break;\n    case \"bottom\":\n      m = {\n        x: f,\n        y: r.y + r.height\n      };\n      break;\n    case \"right\":\n      m = {\n        x: r.x + r.width,\n        y: d\n      };\n      break;\n    case \"left\":\n      m = {\n        x: r.x - o.width,\n        y: d\n      };\n      break;\n    default:\n      m = {\n        x: r.x,\n        y: r.y\n      };\n  }\n  switch (xe(t)) {\n    case \"start\":\n      m[s] -= p * (n && l ? -1 : 1);\n      break;\n    case \"end\":\n      m[s] += p * (n && l ? -1 : 1);\n      break;\n  }\n  return m;\n}\nconst Gn = async (e, t, n) => {\n  const {\n    placement: r = \"bottom\",\n    strategy: o = \"absolute\",\n    middleware: i = [],\n    platform: s\n  } = n, c = i.filter(Boolean), a = await (s.isRTL == null ? void 0 : s.isRTL(t));\n  let l = await s.getElementRects({\n    reference: e,\n    floating: t,\n    strategy: o\n  }), {\n    x: f,\n    y: d\n  } = yt(l, r, a), p = r, m = {}, b = 0;\n  for (let g = 0; g < c.length; g++) {\n    const {\n      name: v,\n      fn: h\n    } = c[g], {\n      x: u,\n      y,\n      data: O,\n      reset: R\n    } = await h({\n      x: f,\n      y: d,\n      initialPlacement: r,\n      placement: p,\n      strategy: o,\n      middlewareData: m,\n      rects: l,\n      platform: s,\n      elements: {\n        reference: e,\n        floating: t\n      }\n    });\n    f = u ?? f, d = y ?? d, m = {\n      ...m,\n      [v]: {\n        ...m[v],\n        ...O\n      }\n    }, R && b <= 50 && (b++, typeof R == \"object\" && (R.placement && (p = R.placement), R.rects && (l = R.rects === !0 ? await s.getElementRects({\n      reference: e,\n      floating: t,\n      strategy: o\n    }) : R.rects), {\n      x: f,\n      y: d\n    } = yt(l, p, a)), g = -1);\n  }\n  return {\n    x: f,\n    y: d,\n    placement: p,\n    strategy: o,\n    middlewareData: m\n  };\n};\nasync function Pe(e, t) {\n  var n;\n  t === void 0 && (t = {});\n  const {\n    x: r,\n    y: o,\n    platform: i,\n    rects: s,\n    elements: c,\n    strategy: a\n  } = e, {\n    boundary: l = \"clippingAncestors\",\n    rootBoundary: f = \"viewport\",\n    elementContext: d = \"floating\",\n    altBoundary: p = !1,\n    padding: m = 0\n  } = he(t, e), b = Yt(m), v = c[p ? d === \"floating\" ? \"reference\" : \"floating\" : d], h = Be(await i.getClippingRect({\n    element: (n = await (i.isElement == null ? void 0 : i.isElement(v))) == null || n ? v : v.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(c.floating)),\n    boundary: l,\n    rootBoundary: f,\n    strategy: a\n  })), u = d === \"floating\" ? {\n    x: r,\n    y: o,\n    width: s.floating.width,\n    height: s.floating.height\n  } : s.reference, y = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(c.floating)), O = await (i.isElement == null ? void 0 : i.isElement(y)) ? await (i.getScale == null ? void 0 : i.getScale(y)) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  }, R = Be(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements: c,\n    rect: u,\n    offsetParent: y,\n    strategy: a\n  }) : u);\n  return {\n    top: (h.top - R.top + b.top) / O.y,\n    bottom: (R.bottom - h.bottom + b.bottom) / O.y,\n    left: (h.left - R.left + b.left) / O.x,\n    right: (R.right - h.right + b.right) / O.x\n  };\n}\nconst Jn = (e) => ({\n  name: \"arrow\",\n  options: e,\n  async fn(t) {\n    const {\n      x: n,\n      y: r,\n      placement: o,\n      rects: i,\n      platform: s,\n      elements: c,\n      middlewareData: a\n    } = t, {\n      element: l,\n      padding: f = 0\n    } = he(e, t) || {};\n    if (l == null)\n      return {};\n    const d = Yt(f), p = {\n      x: n,\n      y: r\n    }, m = st(o), b = it(m), g = await s.getDimensions(l), v = m === \"y\", h = v ? \"top\" : \"left\", u = v ? \"bottom\" : \"right\", y = v ? \"clientHeight\" : \"clientWidth\", O = i.reference[b] + i.reference[m] - p[m] - i.floating[b], R = p[m] - i.reference[m], S = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(l));\n    let C = S ? S[y] : 0;\n    (!C || !await (s.isElement == null ? void 0 : s.isElement(S))) && (C = c.floating[y] || i.floating[b]);\n    const z = O / 2 - R / 2, L = C / 2 - g[b] / 2 - 1, B = fe(d[h], L), H = fe(d[u], L), _ = B, w = C - g[b] - H, x = C / 2 - g[b] / 2 + z, T = Qe(_, x, w), M = !a.arrow && xe(o) != null && x !== T && i.reference[b] / 2 - (x < _ ? B : H) - g[b] / 2 < 0, A = M ? x < _ ? x - _ : x - w : 0;\n    return {\n      [m]: p[m] + A,\n      data: {\n        [m]: T,\n        centerOffset: x - T - A,\n        ...M && {\n          alignmentOffset: A\n        }\n      },\n      reset: M\n    };\n  }\n}), Qn = function(e) {\n  return e === void 0 && (e = {}), {\n    name: \"flip\",\n    options: e,\n    async fn(t) {\n      var n, r;\n      const {\n        placement: o,\n        middlewareData: i,\n        rects: s,\n        initialPlacement: c,\n        platform: a,\n        elements: l\n      } = t, {\n        mainAxis: f = !0,\n        crossAxis: d = !0,\n        fallbackPlacements: p,\n        fallbackStrategy: m = \"bestFit\",\n        fallbackAxisSideDirection: b = \"none\",\n        flipAlignment: g = !0,\n        ...v\n      } = he(e, t);\n      if ((n = i.arrow) != null && n.alignmentOffset)\n        return {};\n      const h = oe(o), u = ue(c), y = oe(c) === c, O = await (a.isRTL == null ? void 0 : a.isRTL(l.floating)), R = p || (y || !g ? [Le(c)] : jn(c)), S = b !== \"none\";\n      !p && S && R.push(...Kn(c, g, b, O));\n      const C = [c, ...R], z = await Pe(t, v), L = [];\n      let B = ((r = i.flip) == null ? void 0 : r.overflows) || [];\n      if (f && L.push(z[h]), d) {\n        const x = Xn(o, s, O);\n        L.push(z[x[0]], z[x[1]]);\n      }\n      if (B = [...B, {\n        placement: o,\n        overflows: L\n      }], !L.every((x) => x <= 0)) {\n        var H, _;\n        const x = (((H = i.flip) == null ? void 0 : H.index) || 0) + 1, T = C[x];\n        if (T)\n          return {\n            data: {\n              index: x,\n              overflows: B\n            },\n            reset: {\n              placement: T\n            }\n          };\n        let M = (_ = B.filter((A) => A.overflows[0] <= 0).sort((A, N) => A.overflows[1] - N.overflows[1])[0]) == null ? void 0 : _.placement;\n        if (!M)\n          switch (m) {\n            case \"bestFit\": {\n              var w;\n              const A = (w = B.filter((N) => {\n                if (S) {\n                  const F = ue(N.placement);\n                  return F === u || // Create a bias to the `y` side axis due to horizontal\n                  // reading directions favoring greater width.\n                  F === \"y\";\n                }\n                return !0;\n              }).map((N) => [N.placement, N.overflows.filter((F) => F > 0).reduce((F, Z) => F + Z, 0)]).sort((N, F) => N[1] - F[1])[0]) == null ? void 0 : w[0];\n              A && (M = A);\n              break;\n            }\n            case \"initialPlacement\":\n              M = c;\n              break;\n          }\n        if (o !== M)\n          return {\n            reset: {\n              placement: M\n            }\n          };\n      }\n      return {};\n    }\n  };\n};\nfunction wt(e, t) {\n  return {\n    top: e.top - t.height,\n    right: e.right - t.width,\n    bottom: e.bottom - t.height,\n    left: e.left - t.width\n  };\n}\nfunction xt(e) {\n  return $n.some((t) => e[t] >= 0);\n}\nconst Zn = function(e) {\n  return e === void 0 && (e = {}), {\n    name: \"hide\",\n    options: e,\n    async fn(t) {\n      const {\n        rects: n\n      } = t, {\n        strategy: r = \"referenceHidden\",\n        ...o\n      } = he(e, t);\n      switch (r) {\n        case \"referenceHidden\": {\n          const i = await Pe(t, {\n            ...o,\n            elementContext: \"reference\"\n          }), s = wt(i, n.reference);\n          return {\n            data: {\n              referenceHiddenOffsets: s,\n              referenceHidden: xt(s)\n            }\n          };\n        }\n        case \"escaped\": {\n          const i = await Pe(t, {\n            ...o,\n            altBoundary: !0\n          }), s = wt(i, n.floating);\n          return {\n            data: {\n              escapedOffsets: s,\n              escaped: xt(s)\n            }\n          };\n        }\n        default:\n          return {};\n      }\n    }\n  };\n};\nasync function er(e, t) {\n  const {\n    placement: n,\n    platform: r,\n    elements: o\n  } = e, i = await (r.isRTL == null ? void 0 : r.isRTL(o.floating)), s = oe(n), c = xe(n), a = ue(n) === \"y\", l = [\"left\", \"top\"].includes(s) ? -1 : 1, f = i && a ? -1 : 1, d = he(t, e);\n  let {\n    mainAxis: p,\n    crossAxis: m,\n    alignmentAxis: b\n  } = typeof d == \"number\" ? {\n    mainAxis: d,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: d.mainAxis || 0,\n    crossAxis: d.crossAxis || 0,\n    alignmentAxis: d.alignmentAxis\n  };\n  return c && typeof b == \"number\" && (m = c === \"end\" ? b * -1 : b), a ? {\n    x: m * f,\n    y: p * l\n  } : {\n    x: p * l,\n    y: m * f\n  };\n}\nconst tr = function(e) {\n  return e === void 0 && (e = 0), {\n    name: \"offset\",\n    options: e,\n    async fn(t) {\n      var n, r;\n      const {\n        x: o,\n        y: i,\n        placement: s,\n        middlewareData: c\n      } = t, a = await er(t, e);\n      return s === ((n = c.offset) == null ? void 0 : n.placement) && (r = c.arrow) != null && r.alignmentOffset ? {} : {\n        x: o + a.x,\n        y: i + a.y,\n        data: {\n          ...a,\n          placement: s\n        }\n      };\n    }\n  };\n}, nr = function(e) {\n  return e === void 0 && (e = {}), {\n    name: \"shift\",\n    options: e,\n    async fn(t) {\n      const {\n        x: n,\n        y: r,\n        placement: o\n      } = t, {\n        mainAxis: i = !0,\n        crossAxis: s = !1,\n        limiter: c = {\n          fn: (v) => {\n            let {\n              x: h,\n              y: u\n            } = v;\n            return {\n              x: h,\n              y: u\n            };\n          }\n        },\n        ...a\n      } = he(e, t), l = {\n        x: n,\n        y: r\n      }, f = await Pe(t, a), d = ue(oe(o)), p = jt(d);\n      let m = l[p], b = l[d];\n      if (i) {\n        const v = p === \"y\" ? \"top\" : \"left\", h = p === \"y\" ? \"bottom\" : \"right\", u = m + f[v], y = m - f[h];\n        m = Qe(u, m, y);\n      }\n      if (s) {\n        const v = d === \"y\" ? \"top\" : \"left\", h = d === \"y\" ? \"bottom\" : \"right\", u = b + f[v], y = b - f[h];\n        b = Qe(u, b, y);\n      }\n      const g = c.fn({\n        ...t,\n        [p]: m,\n        [d]: b\n      });\n      return {\n        ...g,\n        data: {\n          x: g.x - n,\n          y: g.y - r,\n          enabled: {\n            [p]: i,\n            [d]: s\n          }\n        }\n      };\n    }\n  };\n};\nfunction Ne() {\n  return typeof window < \"u\";\n}\nfunction me(e) {\n  return Kt(e) ? (e.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction I(e) {\n  var t;\n  return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;\n}\nfunction Y(e) {\n  var t;\n  return (t = (Kt(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;\n}\nfunction Kt(e) {\n  return Ne() ? e instanceof Node || e instanceof I(e).Node : !1;\n}\nfunction $(e) {\n  return Ne() ? e instanceof Element || e instanceof I(e).Element : !1;\n}\nfunction j(e) {\n  return Ne() ? e instanceof HTMLElement || e instanceof I(e).HTMLElement : !1;\n}\nfunction Et(e) {\n  return !Ne() || typeof ShadowRoot > \"u\" ? !1 : e instanceof ShadowRoot || e instanceof I(e).ShadowRoot;\n}\nfunction Ee(e) {\n  const {\n    overflow: t,\n    overflowX: n,\n    overflowY: r,\n    display: o\n  } = V(e);\n  return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && ![\"inline\", \"contents\"].includes(o);\n}\nfunction rr(e) {\n  return [\"table\", \"td\", \"th\"].includes(me(e));\n}\nfunction We(e) {\n  return [\":popover-open\", \":modal\"].some((t) => {\n    try {\n      return e.matches(t);\n    } catch {\n      return !1;\n    }\n  });\n}\nfunction ct(e) {\n  const t = at(), n = $(e) ? V(e) : e;\n  return [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"].some((r) => n[r] ? n[r] !== \"none\" : !1) || (n.containerType ? n.containerType !== \"normal\" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !t && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"].some((r) => (n.willChange || \"\").includes(r)) || [\"paint\", \"layout\", \"strict\", \"content\"].some((r) => (n.contain || \"\").includes(r));\n}\nfunction or(e) {\n  let t = G(e);\n  for (; j(t) && !de(t); ) {\n    if (ct(t))\n      return t;\n    if (We(t))\n      return null;\n    t = G(t);\n  }\n  return null;\n}\nfunction at() {\n  return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nfunction de(e) {\n  return [\"html\", \"body\", \"#document\"].includes(me(e));\n}\nfunction V(e) {\n  return I(e).getComputedStyle(e);\n}\nfunction Ie(e) {\n  return $(e) ? {\n    scrollLeft: e.scrollLeft,\n    scrollTop: e.scrollTop\n  } : {\n    scrollLeft: e.scrollX,\n    scrollTop: e.scrollY\n  };\n}\nfunction G(e) {\n  if (me(e) === \"html\")\n    return e;\n  const t = (\n    // Step into the shadow DOM of the parent of a slotted node.\n    e.assignedSlot || // DOM Element detected.\n    e.parentNode || // ShadowRoot detected.\n    Et(e) && e.host || // Fallback.\n    Y(e)\n  );\n  return Et(t) ? t.host : t;\n}\nfunction Ut(e) {\n  const t = G(e);\n  return de(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : j(t) && Ee(t) ? t : Ut(t);\n}\nfunction ye(e, t, n) {\n  var r;\n  t === void 0 && (t = []), n === void 0 && (n = !0);\n  const o = Ut(e), i = o === ((r = e.ownerDocument) == null ? void 0 : r.body), s = I(o);\n  if (i) {\n    const c = et(s);\n    return t.concat(s, s.visualViewport || [], Ee(o) ? o : [], c && n ? ye(c) : []);\n  }\n  return t.concat(o, ye(o, [], n));\n}\nfunction et(e) {\n  return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;\n}\nfunction Gt(e) {\n  const t = V(e);\n  let n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0;\n  const o = j(e), i = o ? e.offsetWidth : n, s = o ? e.offsetHeight : r, c = Me(n) !== i || Me(r) !== s;\n  return c && (n = i, r = s), {\n    width: n,\n    height: r,\n    $: c\n  };\n}\nfunction lt(e) {\n  return $(e) ? e : e.contextElement;\n}\nfunction ae(e) {\n  const t = lt(e);\n  if (!j(t))\n    return X(1);\n  const n = t.getBoundingClientRect(), {\n    width: r,\n    height: o,\n    $: i\n  } = Gt(t);\n  let s = (i ? Me(n.width) : n.width) / r, c = (i ? Me(n.height) : n.height) / o;\n  return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {\n    x: s,\n    y: c\n  };\n}\nconst ir = /* @__PURE__ */ X(0);\nfunction Jt(e) {\n  const t = I(e);\n  return !at() || !t.visualViewport ? ir : {\n    x: t.visualViewport.offsetLeft,\n    y: t.visualViewport.offsetTop\n  };\n}\nfunction sr(e, t, n) {\n  return t === void 0 && (t = !1), !n || t && n !== I(e) ? !1 : t;\n}\nfunction ie(e, t, n, r) {\n  t === void 0 && (t = !1), n === void 0 && (n = !1);\n  const o = e.getBoundingClientRect(), i = lt(e);\n  let s = X(1);\n  t && (r ? $(r) && (s = ae(r)) : s = ae(e));\n  const c = sr(i, n, r) ? Jt(i) : X(0);\n  let a = (o.left + c.x) / s.x, l = (o.top + c.y) / s.y, f = o.width / s.x, d = o.height / s.y;\n  if (i) {\n    const p = I(i), m = r && $(r) ? I(r) : r;\n    let b = p, g = et(b);\n    for (; g && r && m !== b; ) {\n      const v = ae(g), h = g.getBoundingClientRect(), u = V(g), y = h.left + (g.clientLeft + parseFloat(u.paddingLeft)) * v.x, O = h.top + (g.clientTop + parseFloat(u.paddingTop)) * v.y;\n      a *= v.x, l *= v.y, f *= v.x, d *= v.y, a += y, l += O, b = I(g), g = et(b);\n    }\n  }\n  return Be({\n    width: f,\n    height: d,\n    x: a,\n    y: l\n  });\n}\nfunction ft(e, t) {\n  const n = Ie(e).scrollLeft;\n  return t ? t.left + n : ie(Y(e)).left + n;\n}\nfunction Qt(e, t, n) {\n  n === void 0 && (n = !1);\n  const r = e.getBoundingClientRect(), o = r.left + t.scrollLeft - (n ? 0 : (\n    // RTL <body> scrollbar.\n    ft(e, r)\n  )), i = r.top + t.scrollTop;\n  return {\n    x: o,\n    y: i\n  };\n}\nfunction cr(e) {\n  let {\n    elements: t,\n    rect: n,\n    offsetParent: r,\n    strategy: o\n  } = e;\n  const i = o === \"fixed\", s = Y(r), c = t ? We(t.floating) : !1;\n  if (r === s || c && i)\n    return n;\n  let a = {\n    scrollLeft: 0,\n    scrollTop: 0\n  }, l = X(1);\n  const f = X(0), d = j(r);\n  if ((d || !d && !i) && ((me(r) !== \"body\" || Ee(s)) && (a = Ie(r)), j(r))) {\n    const m = ie(r);\n    l = ae(r), f.x = m.x + r.clientLeft, f.y = m.y + r.clientTop;\n  }\n  const p = s && !d && !i ? Qt(s, a, !0) : X(0);\n  return {\n    width: n.width * l.x,\n    height: n.height * l.y,\n    x: n.x * l.x - a.scrollLeft * l.x + f.x + p.x,\n    y: n.y * l.y - a.scrollTop * l.y + f.y + p.y\n  };\n}\nfunction ar(e) {\n  return Array.from(e.getClientRects());\n}\nfunction lr(e) {\n  const t = Y(e), n = Ie(e), r = e.ownerDocument.body, o = te(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), i = te(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight);\n  let s = -n.scrollLeft + ft(e);\n  const c = -n.scrollTop;\n  return V(r).direction === \"rtl\" && (s += te(t.clientWidth, r.clientWidth) - o), {\n    width: o,\n    height: i,\n    x: s,\n    y: c\n  };\n}\nfunction fr(e, t) {\n  const n = I(e), r = Y(e), o = n.visualViewport;\n  let i = r.clientWidth, s = r.clientHeight, c = 0, a = 0;\n  if (o) {\n    i = o.width, s = o.height;\n    const l = at();\n    (!l || l && t === \"fixed\") && (c = o.offsetLeft, a = o.offsetTop);\n  }\n  return {\n    width: i,\n    height: s,\n    x: c,\n    y: a\n  };\n}\nfunction ur(e, t) {\n  const n = ie(e, !0, t === \"fixed\"), r = n.top + e.clientTop, o = n.left + e.clientLeft, i = j(e) ? ae(e) : X(1), s = e.clientWidth * i.x, c = e.clientHeight * i.y, a = o * i.x, l = r * i.y;\n  return {\n    width: s,\n    height: c,\n    x: a,\n    y: l\n  };\n}\nfunction Rt(e, t, n) {\n  let r;\n  if (t === \"viewport\")\n    r = fr(e, n);\n  else if (t === \"document\")\n    r = lr(Y(e));\n  else if ($(t))\n    r = ur(t, n);\n  else {\n    const o = Jt(e);\n    r = {\n      x: t.x - o.x,\n      y: t.y - o.y,\n      width: t.width,\n      height: t.height\n    };\n  }\n  return Be(r);\n}\nfunction Zt(e, t) {\n  const n = G(e);\n  return n === t || !$(n) || de(n) ? !1 : V(n).position === \"fixed\" || Zt(n, t);\n}\nfunction dr(e, t) {\n  const n = t.get(e);\n  if (n)\n    return n;\n  let r = ye(e, [], !1).filter((c) => $(c) && me(c) !== \"body\"), o = null;\n  const i = V(e).position === \"fixed\";\n  let s = i ? G(e) : e;\n  for (; $(s) && !de(s); ) {\n    const c = V(s), a = ct(s);\n    !a && c.position === \"fixed\" && (o = null), (i ? !a && !o : !a && c.position === \"static\" && !!o && [\"absolute\", \"fixed\"].includes(o.position) || Ee(s) && !a && Zt(e, s)) ? r = r.filter((f) => f !== s) : o = c, s = G(s);\n  }\n  return t.set(e, r), r;\n}\nfunction hr(e) {\n  let {\n    element: t,\n    boundary: n,\n    rootBoundary: r,\n    strategy: o\n  } = e;\n  const s = [...n === \"clippingAncestors\" ? We(t) ? [] : dr(t, this._c) : [].concat(n), r], c = s[0], a = s.reduce((l, f) => {\n    const d = Rt(t, f, o);\n    return l.top = te(d.top, l.top), l.right = fe(d.right, l.right), l.bottom = fe(d.bottom, l.bottom), l.left = te(d.left, l.left), l;\n  }, Rt(t, c, o));\n  return {\n    width: a.right - a.left,\n    height: a.bottom - a.top,\n    x: a.left,\n    y: a.top\n  };\n}\nfunction mr(e) {\n  const {\n    width: t,\n    height: n\n  } = Gt(e);\n  return {\n    width: t,\n    height: n\n  };\n}\nfunction pr(e, t, n) {\n  const r = j(t), o = Y(t), i = n === \"fixed\", s = ie(e, !0, i, t);\n  let c = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const a = X(0);\n  if (r || !r && !i)\n    if ((me(t) !== \"body\" || Ee(o)) && (c = Ie(t)), r) {\n      const p = ie(t, !0, i, t);\n      a.x = p.x + t.clientLeft, a.y = p.y + t.clientTop;\n    } else o && (a.x = ft(o));\n  const l = o && !r && !i ? Qt(o, c) : X(0), f = s.left + c.scrollLeft - a.x - l.x, d = s.top + c.scrollTop - a.y - l.y;\n  return {\n    x: f,\n    y: d,\n    width: s.width,\n    height: s.height\n  };\n}\nfunction qe(e) {\n  return V(e).position === \"static\";\n}\nfunction Tt(e, t) {\n  if (!j(e) || V(e).position === \"fixed\")\n    return null;\n  if (t)\n    return t(e);\n  let n = e.offsetParent;\n  return Y(e) === n && (n = n.ownerDocument.body), n;\n}\nfunction en(e, t) {\n  const n = I(e);\n  if (We(e))\n    return n;\n  if (!j(e)) {\n    let o = G(e);\n    for (; o && !de(o); ) {\n      if ($(o) && !qe(o))\n        return o;\n      o = G(o);\n    }\n    return n;\n  }\n  let r = Tt(e, t);\n  for (; r && rr(r) && qe(r); )\n    r = Tt(r, t);\n  return r && de(r) && qe(r) && !ct(r) ? n : r || or(e) || n;\n}\nconst vr = async function(e) {\n  const t = this.getOffsetParent || en, n = this.getDimensions, r = await n(e.floating);\n  return {\n    reference: pr(e.reference, await t(e.floating), e.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: r.width,\n      height: r.height\n    }\n  };\n};\nfunction gr(e) {\n  return V(e).direction === \"rtl\";\n}\nconst tn = {\n  convertOffsetParentRelativeRectToViewportRelativeRect: cr,\n  getDocumentElement: Y,\n  getClippingRect: hr,\n  getOffsetParent: en,\n  getElementRects: vr,\n  getClientRects: ar,\n  getDimensions: mr,\n  getScale: ae,\n  isElement: $,\n  isRTL: gr\n};\nfunction nn(e, t) {\n  return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;\n}\nfunction br(e, t) {\n  let n = null, r;\n  const o = Y(e);\n  function i() {\n    var c;\n    clearTimeout(r), (c = n) == null || c.disconnect(), n = null;\n  }\n  function s(c, a) {\n    c === void 0 && (c = !1), a === void 0 && (a = 1), i();\n    const l = e.getBoundingClientRect(), {\n      left: f,\n      top: d,\n      width: p,\n      height: m\n    } = l;\n    if (c || t(), !p || !m)\n      return;\n    const b = Se(d), g = Se(o.clientWidth - (f + p)), v = Se(o.clientHeight - (d + m)), h = Se(f), y = {\n      rootMargin: -b + \"px \" + -g + \"px \" + -v + \"px \" + -h + \"px\",\n      threshold: te(0, fe(1, a)) || 1\n    };\n    let O = !0;\n    function R(S) {\n      const C = S[0].intersectionRatio;\n      if (C !== a) {\n        if (!O)\n          return s();\n        C ? s(!1, C) : r = setTimeout(() => {\n          s(!1, 1e-7);\n        }, 1e3);\n      }\n      C === 1 && !nn(l, e.getBoundingClientRect()) && s(), O = !1;\n    }\n    try {\n      n = new IntersectionObserver(R, {\n        ...y,\n        // Handle <iframe>s\n        root: o.ownerDocument\n      });\n    } catch {\n      n = new IntersectionObserver(R, y);\n    }\n    n.observe(e);\n  }\n  return s(!0), i;\n}\nfunction yr(e, t, n, r) {\n  r === void 0 && (r = {});\n  const {\n    ancestorScroll: o = !0,\n    ancestorResize: i = !0,\n    elementResize: s = typeof ResizeObserver == \"function\",\n    layoutShift: c = typeof IntersectionObserver == \"function\",\n    animationFrame: a = !1\n  } = r, l = lt(e), f = o || i ? [...l ? ye(l) : [], ...ye(t)] : [];\n  f.forEach((h) => {\n    o && h.addEventListener(\"scroll\", n, {\n      passive: !0\n    }), i && h.addEventListener(\"resize\", n);\n  });\n  const d = l && c ? br(l, n) : null;\n  let p = -1, m = null;\n  s && (m = new ResizeObserver((h) => {\n    let [u] = h;\n    u && u.target === l && m && (m.unobserve(t), cancelAnimationFrame(p), p = requestAnimationFrame(() => {\n      var y;\n      (y = m) == null || y.observe(t);\n    })), n();\n  }), l && !a && m.observe(l), m.observe(t));\n  let b, g = a ? ie(e) : null;\n  a && v();\n  function v() {\n    const h = ie(e);\n    g && !nn(g, h) && n(), g = h, b = requestAnimationFrame(v);\n  }\n  return n(), () => {\n    var h;\n    f.forEach((u) => {\n      o && u.removeEventListener(\"scroll\", n), i && u.removeEventListener(\"resize\", n);\n    }), d == null || d(), (h = m) == null || h.disconnect(), m = null, a && cancelAnimationFrame(b);\n  };\n}\nconst wr = tr, xr = nr, Er = Qn, Rr = Zn, Tr = Jn, Sr = (e, t, n) => {\n  const r = /* @__PURE__ */ new Map(), o = {\n    platform: tn,\n    ...n\n  }, i = {\n    ...o.platform,\n    _c: r\n  };\n  return Gn(e, t, {\n    ...o,\n    platform: i\n  });\n};\nvar ne = [], Or = function() {\n  return ne.some(function(e) {\n    return e.activeTargets.length > 0;\n  });\n}, kr = function() {\n  return ne.some(function(e) {\n    return e.skippedTargets.length > 0;\n  });\n}, St = \"ResizeObserver loop completed with undelivered notifications.\", zr = function() {\n  var e;\n  typeof ErrorEvent == \"function\" ? e = new ErrorEvent(\"error\", {\n    message: St\n  }) : (e = document.createEvent(\"Event\"), e.initEvent(\"error\", !1, !1), e.message = St), window.dispatchEvent(e);\n}, we;\n(function(e) {\n  e.BORDER_BOX = \"border-box\", e.CONTENT_BOX = \"content-box\", e.DEVICE_PIXEL_CONTENT_BOX = \"device-pixel-content-box\";\n})(we || (we = {}));\nvar re = function(e) {\n  return Object.freeze(e);\n}, Ar = /* @__PURE__ */ function() {\n  function e(t, n) {\n    this.inlineSize = t, this.blockSize = n, re(this);\n  }\n  return e;\n}(), rn = function() {\n  function e(t, n, r, o) {\n    return this.x = t, this.y = n, this.width = r, this.height = o, this.top = this.y, this.left = this.x, this.bottom = this.top + this.height, this.right = this.left + this.width, re(this);\n  }\n  return e.prototype.toJSON = function() {\n    var t = this, n = t.x, r = t.y, o = t.top, i = t.right, s = t.bottom, c = t.left, a = t.width, l = t.height;\n    return { x: n, y: r, top: o, right: i, bottom: s, left: c, width: a, height: l };\n  }, e.fromRect = function(t) {\n    return new e(t.x, t.y, t.width, t.height);\n  }, e;\n}(), ut = function(e) {\n  return e instanceof SVGElement && \"getBBox\" in e;\n}, on = function(e) {\n  if (ut(e)) {\n    var t = e.getBBox(), n = t.width, r = t.height;\n    return !n && !r;\n  }\n  var o = e, i = o.offsetWidth, s = o.offsetHeight;\n  return !(i || s || e.getClientRects().length);\n}, Ot = function(e) {\n  var t;\n  if (e instanceof Element)\n    return !0;\n  var n = (t = e == null ? void 0 : e.ownerDocument) === null || t === void 0 ? void 0 : t.defaultView;\n  return !!(n && e instanceof n.Element);\n}, Cr = function(e) {\n  switch (e.tagName) {\n    case \"INPUT\":\n      if (e.type !== \"image\")\n        break;\n    case \"VIDEO\":\n    case \"AUDIO\":\n    case \"EMBED\":\n    case \"OBJECT\":\n    case \"CANVAS\":\n    case \"IFRAME\":\n    case \"IMG\":\n      return !0;\n  }\n  return !1;\n}, ge = typeof window < \"u\" ? window : {}, Oe = /* @__PURE__ */ new WeakMap(), kt = /auto|scroll/, Mr = /^tb|vertical/, Lr = /msie|trident/i.test(ge.navigator && ge.navigator.userAgent), q = function(e) {\n  return parseFloat(e || \"0\");\n}, le = function(e, t, n) {\n  return e === void 0 && (e = 0), t === void 0 && (t = 0), n === void 0 && (n = !1), new Ar((n ? t : e) || 0, (n ? e : t) || 0);\n}, zt = re({\n  devicePixelContentBoxSize: le(),\n  borderBoxSize: le(),\n  contentBoxSize: le(),\n  contentRect: new rn(0, 0, 0, 0)\n}), sn = function(e, t) {\n  if (t === void 0 && (t = !1), Oe.has(e) && !t)\n    return Oe.get(e);\n  if (on(e))\n    return Oe.set(e, zt), zt;\n  var n = getComputedStyle(e), r = ut(e) && e.ownerSVGElement && e.getBBox(), o = !Lr && n.boxSizing === \"border-box\", i = Mr.test(n.writingMode || \"\"), s = !r && kt.test(n.overflowY || \"\"), c = !r && kt.test(n.overflowX || \"\"), a = r ? 0 : q(n.paddingTop), l = r ? 0 : q(n.paddingRight), f = r ? 0 : q(n.paddingBottom), d = r ? 0 : q(n.paddingLeft), p = r ? 0 : q(n.borderTopWidth), m = r ? 0 : q(n.borderRightWidth), b = r ? 0 : q(n.borderBottomWidth), g = r ? 0 : q(n.borderLeftWidth), v = d + l, h = a + f, u = g + m, y = p + b, O = c ? e.offsetHeight - y - e.clientHeight : 0, R = s ? e.offsetWidth - u - e.clientWidth : 0, S = o ? v + u : 0, C = o ? h + y : 0, z = r ? r.width : q(n.width) - S - R, L = r ? r.height : q(n.height) - C - O, B = z + v + R + u, H = L + h + O + y, _ = re({\n    devicePixelContentBoxSize: le(Math.round(z * devicePixelRatio), Math.round(L * devicePixelRatio), i),\n    borderBoxSize: le(B, H, i),\n    contentBoxSize: le(z, L, i),\n    contentRect: new rn(d, a, z, L)\n  });\n  return Oe.set(e, _), _;\n}, cn = function(e, t, n) {\n  var r = sn(e, n), o = r.borderBoxSize, i = r.contentBoxSize, s = r.devicePixelContentBoxSize;\n  switch (t) {\n    case we.DEVICE_PIXEL_CONTENT_BOX:\n      return s;\n    case we.BORDER_BOX:\n      return o;\n    default:\n      return i;\n  }\n}, Br = /* @__PURE__ */ function() {\n  function e(t) {\n    var n = sn(t);\n    this.target = t, this.contentRect = n.contentRect, this.borderBoxSize = re([n.borderBoxSize]), this.contentBoxSize = re([n.contentBoxSize]), this.devicePixelContentBoxSize = re([n.devicePixelContentBoxSize]);\n  }\n  return e;\n}(), an = function(e) {\n  if (on(e))\n    return 1 / 0;\n  for (var t = 0, n = e.parentNode; n; )\n    t += 1, n = n.parentNode;\n  return t;\n}, Pr = function() {\n  var e = 1 / 0, t = [];\n  ne.forEach(function(s) {\n    if (s.activeTargets.length !== 0) {\n      var c = [];\n      s.activeTargets.forEach(function(l) {\n        var f = new Br(l.target), d = an(l.target);\n        c.push(f), l.lastReportedSize = cn(l.target, l.observedBox), d < e && (e = d);\n      }), t.push(function() {\n        s.callback.call(s.observer, c, s.observer);\n      }), s.activeTargets.splice(0, s.activeTargets.length);\n    }\n  });\n  for (var n = 0, r = t; n < r.length; n++) {\n    var o = r[n];\n    o();\n  }\n  return e;\n}, At = function(e) {\n  ne.forEach(function(n) {\n    n.activeTargets.splice(0, n.activeTargets.length), n.skippedTargets.splice(0, n.skippedTargets.length), n.observationTargets.forEach(function(o) {\n      o.isActive() && (an(o.target) > e ? n.activeTargets.push(o) : n.skippedTargets.push(o));\n    });\n  });\n}, Dr = function() {\n  var e = 0;\n  for (At(e); Or(); )\n    e = Pr(), At(e);\n  return kr() && zr(), e > 0;\n}, Xe, ln = [], Fr = function() {\n  return ln.splice(0).forEach(function(e) {\n    return e();\n  });\n}, _r = function(e) {\n  if (!Xe) {\n    var t = 0, n = document.createTextNode(\"\"), r = { characterData: !0 };\n    new MutationObserver(function() {\n      return Fr();\n    }).observe(n, r), Xe = function() {\n      n.textContent = \"\".concat(t ? t-- : t++);\n    };\n  }\n  ln.push(e), Xe();\n}, Nr = function(e) {\n  _r(function() {\n    requestAnimationFrame(e);\n  });\n}, Ae = 0, Wr = function() {\n  return !!Ae;\n}, Ir = 250, Hr = { attributes: !0, characterData: !0, childList: !0, subtree: !0 }, Ct = [\n  \"resize\",\n  \"load\",\n  \"transitionend\",\n  \"animationend\",\n  \"animationstart\",\n  \"animationiteration\",\n  \"keyup\",\n  \"keydown\",\n  \"mouseup\",\n  \"mousedown\",\n  \"mouseover\",\n  \"mouseout\",\n  \"blur\",\n  \"focus\"\n], Mt = function(e) {\n  return e === void 0 && (e = 0), Date.now() + e;\n}, je = !1, $r = function() {\n  function e() {\n    var t = this;\n    this.stopped = !0, this.listener = function() {\n      return t.schedule();\n    };\n  }\n  return e.prototype.run = function(t) {\n    var n = this;\n    if (t === void 0 && (t = Ir), !je) {\n      je = !0;\n      var r = Mt(t);\n      Nr(function() {\n        var o = !1;\n        try {\n          o = Dr();\n        } finally {\n          if (je = !1, t = r - Mt(), !Wr())\n            return;\n          o ? n.run(1e3) : t > 0 ? n.run(t) : n.start();\n        }\n      });\n    }\n  }, e.prototype.schedule = function() {\n    this.stop(), this.run();\n  }, e.prototype.observe = function() {\n    var t = this, n = function() {\n      return t.observer && t.observer.observe(document.body, Hr);\n    };\n    document.body ? n() : ge.addEventListener(\"DOMContentLoaded\", n);\n  }, e.prototype.start = function() {\n    var t = this;\n    this.stopped && (this.stopped = !1, this.observer = new MutationObserver(this.listener), this.observe(), Ct.forEach(function(n) {\n      return ge.addEventListener(n, t.listener, !0);\n    }));\n  }, e.prototype.stop = function() {\n    var t = this;\n    this.stopped || (this.observer && this.observer.disconnect(), Ct.forEach(function(n) {\n      return ge.removeEventListener(n, t.listener, !0);\n    }), this.stopped = !0);\n  }, e;\n}(), tt = new $r(), Lt = function(e) {\n  !Ae && e > 0 && tt.start(), Ae += e, !Ae && tt.stop();\n}, Vr = function(e) {\n  return !ut(e) && !Cr(e) && getComputedStyle(e).display === \"inline\";\n}, qr = function() {\n  function e(t, n) {\n    this.target = t, this.observedBox = n || we.CONTENT_BOX, this.lastReportedSize = {\n      inlineSize: 0,\n      blockSize: 0\n    };\n  }\n  return e.prototype.isActive = function() {\n    var t = cn(this.target, this.observedBox, !0);\n    return Vr(this.target) && (this.lastReportedSize = t), this.lastReportedSize.inlineSize !== t.inlineSize || this.lastReportedSize.blockSize !== t.blockSize;\n  }, e;\n}(), Xr = /* @__PURE__ */ function() {\n  function e(t, n) {\n    this.activeTargets = [], this.skippedTargets = [], this.observationTargets = [], this.observer = t, this.callback = n;\n  }\n  return e;\n}(), ke = /* @__PURE__ */ new WeakMap(), Bt = function(e, t) {\n  for (var n = 0; n < e.length; n += 1)\n    if (e[n].target === t)\n      return n;\n  return -1;\n}, ze = function() {\n  function e() {\n  }\n  return e.connect = function(t, n) {\n    var r = new Xr(t, n);\n    ke.set(t, r);\n  }, e.observe = function(t, n, r) {\n    var o = ke.get(t), i = o.observationTargets.length === 0;\n    Bt(o.observationTargets, n) < 0 && (i && ne.push(o), o.observationTargets.push(new qr(n, r && r.box)), Lt(1), tt.schedule());\n  }, e.unobserve = function(t, n) {\n    var r = ke.get(t), o = Bt(r.observationTargets, n), i = r.observationTargets.length === 1;\n    o >= 0 && (i && ne.splice(ne.indexOf(r), 1), r.observationTargets.splice(o, 1), Lt(-1));\n  }, e.disconnect = function(t) {\n    var n = this, r = ke.get(t);\n    r.observationTargets.slice().forEach(function(o) {\n      return n.unobserve(t, o.target);\n    }), r.activeTargets.splice(0, r.activeTargets.length);\n  }, e;\n}(), Pt = function() {\n  function e(t) {\n    if (arguments.length === 0)\n      throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n    if (typeof t != \"function\")\n      throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n    ze.connect(this, t);\n  }\n  return e.prototype.observe = function(t, n) {\n    if (arguments.length === 0)\n      throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n    if (!Ot(t))\n      throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n    ze.observe(this, t, n);\n  }, e.prototype.unobserve = function(t) {\n    if (arguments.length === 0)\n      throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n    if (!Ot(t))\n      throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n    ze.unobserve(this, t);\n  }, e.prototype.disconnect = function() {\n    ze.disconnect(this);\n  }, e.toString = function() {\n    return \"function ResizeObserver () { [polyfill code] }\";\n  }, e;\n}();\nconst De = /* @__PURE__ */ new WeakMap();\nfunction jr(e) {\n  for (let t = 0, n = e.length; t < n; ++t) {\n    const r = e[t], o = De.get(r.target);\n    typeof o == \"function\" && o(r);\n  }\n}\nconst fn = new (D && window.ResizeObserver || Pt)(\n  jr\n);\nfunction He(e, t) {\n  De.set(e, t), fn.observe(e);\n}\nfunction un(e) {\n  De.has(e) && (fn.unobserve(e), De.delete(e));\n}\nfunction wo() {\n  return {\n    observeResize: He,\n    unobserveResize: un\n  };\n}\nconst dn = k(!1), Yr = W(() => dn.value), pe = \"__rtl_observer__\";\nfunction Kr() {\n  return D && !document.querySelector(`#${pe}`) && Ur(), { isRtl: Yr };\n}\nfunction Ur() {\n  if (!D) return;\n  const e = document.createElement(\"style\"), t = `#${pe} { width: 1px } html.rtl #${pe}, html[dir='rtl'] #${pe} { width: 2px }`;\n  e.textContent = t, document.head.appendChild(e);\n  const n = document.createElement(\"div\");\n  n.id = pe, n.role = \"none\", n.style.cssText = \"position: fixed; top -10px; left: -10px; height: 1px; visibility: hidden;\", He(n, () => {\n    D && (dn.value = document.documentElement.classList.contains(\"rtl\") || document.documentElement.getAttribute(\"dir\") === \"rtl\");\n  }), document.body.appendChild(n);\n}\nconst xo = Object.freeze([\n  \"top\",\n  \"top-start\",\n  \"top-end\",\n  \"bottom\",\n  \"bottom-start\",\n  \"bottom-end\",\n  \"left\",\n  \"left-start\",\n  \"left-end\",\n  \"right\",\n  \"right-start\",\n  \"right-end\"\n]);\nfunction Eo(e) {\n  const { transfer: t, wrapper: n, isDrop: r = !1 } = e, o = e.reference ?? $e(null), i = e.popper ?? $e(null), s = e.arrow ?? $e(null), c = k(E(e.placement)), a = k(\"\"), l = e.isRtl ?? Kr().isRtl;\n  n && mt(() => {\n    const g = E(n), v = E(i);\n    g && (g.__transferElement = v);\n  }), t != null && (J(\n    () => E(t),\n    (g) => {\n      m(g), p();\n    }\n  ), m(E(t))), rt(() => {\n    requestAnimationFrame(() => {\n      mt(d);\n    });\n  });\n  let f;\n  async function d() {\n    if (!D) return;\n    f == null || f();\n    const g = E(o), v = E(i);\n    if (!g || !v) return;\n    const h = E(s), u = [Er()];\n    if (r && u.push({\n      name: \"origin\",\n      fn({ placement: S, elements: C }) {\n        const z = b(S);\n        return z && (C.floating.style.transformOrigin = z), {};\n      }\n    }), e.offset) {\n      let S = E(e.offset);\n      Array.isArray(S) && (S = {\n        mainAxis: S[1],\n        crossAxis: S[0]\n      }), u.push(wr(S));\n    }\n    if (e.shift) {\n      let S = E(e.shift);\n      typeof S == \"boolean\" && (S = {}), u.push(xr(S));\n    }\n    h && u.push(Tr({ element: h })), u.push(Rr({ strategy: \"escaped\" }));\n    const y = E(l) || !1, O = {\n      middleware: u,\n      placement: E(e.placement),\n      platform: {\n        ...tn,\n        isRTL: async () => y\n      }\n    }, R = async () => {\n      const {\n        x: S,\n        y: C,\n        placement: z,\n        strategy: L,\n        middlewareData: B\n      } = await Sr(g, v, O);\n      if (E(o) !== g) {\n        E(i) === v && Object.assign(v.style, {\n          position: \"\",\n          top: \"\",\n          left: \"\"\n        });\n        return;\n      }\n      const H = {\n        position: L,\n        top: `${C}px`,\n        left: `${S}px`\n      };\n      if (h)\n        if (B.arrow) {\n          const { x: _, y: w } = B.arrow;\n          Object.assign(h.style, {\n            top: w != null ? `${w}px` : \"\",\n            left: _ != null ? `${_}px` : \"\"\n          });\n        } else\n          Object.assign(h.style, { top: \"\", left: \"\" });\n      Object.assign(v.style, H), v.dataset.popperPlacement = z, c.value = z;\n    };\n    e.autoUpdate && (f = yr(g, v, R)), await R();\n  }\n  const p = () => new Promise((g) => {\n    requestAnimationFrame(() => {\n      d().then(g);\n    });\n  });\n  function m(g) {\n    a.value = typeof g == \"boolean\" ? g ? \"body\" : \"\" : g;\n  }\n  function b(g) {\n    if (g !== \"left\" && g !== \"right\") {\n      const [v, h] = g.split(\"-\");\n      return v === \"bottom\" || v !== \"top\" && h === \"start\" ? \"center top\" : \"center bottom\";\n    }\n  }\n  return {\n    wrapper: n,\n    reference: o,\n    popper: i,\n    placement: c,\n    transferTo: a,\n    updatePopper: p\n  };\n}\nconst Dt = \"__theme_style__\", Ce = \"__theme_observer__\", Ft = /* @__PURE__ */ new WeakMap();\nfunction Ro(e) {\n  const t = k();\n  if (D) {\n    e = e || document.body;\n    let n = Ft.get(e);\n    n || (n = Zr(t), e.appendChild(n), Ft.set(e, n));\n  }\n  return { theme: t };\n}\nconst Fe = Ye(/* @__PURE__ */ new Map()), nt = /* @__PURE__ */ new Map();\nJ(Fe, () => {\n  if (!D) return;\n  nt.clear();\n  const e = document.head.querySelector(`#${Dt}`);\n  e && document.head.removeChild(e);\n  const t = document.createElement(\"style\");\n  let n = `.${Ce} { width: 1px }`, r = 1;\n  for (const [o, [i, s]] of Fe.entries())\n    n += ` html.${i} .${Ce}, .${s} .${Ce} { width: ${++r}px }`, nt.set(r, o);\n  t.textContent = n, t.id = Dt, document.head.appendChild(t);\n});\nfunction Gr(e) {\n  for (const t of e) {\n    const {\n      name: n,\n      rootClass: r = n,\n      varsClass: o = `vxp-theme-vars-${r}`\n    } = typeof t == \"string\" ? { name: t } : t;\n    Fe.set(n, [r, o]);\n  }\n}\nfunction To(e) {\n  Fe.clear(), Gr(e);\n}\nlet Jr = 0;\nfunction Qr() {\n  return `__theme_observer_${Jr++}__`;\n}\nfunction Zr(e) {\n  if (!D) return;\n  const t = document.createElement(\"div\");\n  return t.id = Qr(), t.className = Ce, t.role = \"none\", t.style.cssText = \"position: fixed; top -10px; left: -10px; height: 1px; visibility: hidden;\", He(t, (n) => {\n    var o;\n    if (!D) return;\n    const r = ((o = n.borderBoxSize) == null ? void 0 : o[0].inlineSize) ?? n.contentRect.width;\n    e.value = nt.get(r);\n  }), t;\n}\nfunction eo() {\n  const e = {};\n  return Q(() => {\n    Object.keys(e).forEach((t) => {\n      clearTimeout(e[t]);\n    });\n  }), { timer: e };\n}\nfunction to() {\n  const e = {};\n  return Q(() => {\n    Object.keys(e).forEach((t) => {\n      clearInterval(e[t]);\n    });\n  }), { timer: e };\n}\nfunction no() {\n  const e = {};\n  return Q(() => {\n    Object.keys(e).forEach((t) => {\n      cancelAnimationFrame(e[t]);\n    });\n  }), { timer: e };\n}\nfunction So() {\n  const { timer: e } = eo(), { timer: t } = to(), { timer: n } = no();\n  return { timeout: e, interval: t, raf: n };\n}\nfunction Oo(e, t, n = 100) {\n  let r;\n  function o() {\n    e.value === \"hover\" && (clearTimeout(r), r = setTimeout(() => {\n      t.value = !0;\n    }, n));\n  }\n  function i() {\n    e.value === \"hover\" && (clearTimeout(r), r = setTimeout(() => {\n      t.value = !1;\n    }, n));\n  }\n  function s() {\n    e.value === \"click\" && (t.value = !t.value);\n  }\n  return {\n    handleTriggerEnter: o,\n    handleTriggerLeave: i,\n    handleTriggerClick: s\n  };\n}\nfunction ko(e) {\n  const {\n    items: t,\n    itemSize: n,\n    itemFixed: r,\n    idKey: o,\n    defaultKeyAt: i,\n    bufferSize: s = k(5),\n    wrapper: c = k(null),\n    autoResize: a = !0\n  } = e, l = W(() => {\n    const w = E(t), x = w.length, T = E(o), M = /* @__PURE__ */ new Map();\n    for (let A = 0; A < x; ++A)\n      M.set(w[A][T], A);\n    return M;\n  }), f = k(0), d = /* @__PURE__ */ new Map(), p = W(() => {\n    const w = E(t), x = w.length, T = E(o), M = En(x, E(n));\n    for (let A = 0; A < x; ++A) {\n      const N = w[A][T], F = d.get(N);\n      F && M.add(A, F);\n    }\n    return M;\n  }), m = k(0), b = k(0), g = W(() => Math.max(\n    p.value.boundIndex(b.value) - Math.max(E(s), 0),\n    0\n  )), v = W(() => {\n    if (!f.value || f.value < 0) return [];\n    const w = E(t), x = Math.min(\n      p.value.boundIndex(b.value + f.value) + 1 + Math.max(E(s), 0),\n      w.length\n    );\n    return w.slice(g.value, x);\n  }), h = W(() => {\n    m.value;\n    const w = p.value.sum(), x = E(r);\n    return {\n      height: x ? `${w}px` : void 0,\n      minHeight: x ? void 0 : `${w}px`,\n      boxSizing: \"content-box\"\n    };\n  }), u = W(() => (m.value, {\n    transform: `translate3d(0, ${p.value.sum(g.value)}px, 0)`\n  }));\n  if (a) {\n    let w = P;\n    const x = J(\n      () => E(c),\n      (T) => {\n        w(), T && (He(T, R), w = () => {\n          un(T), w = P;\n        }, Ke(i) && L(i));\n      },\n      { immediate: !0, flush: \"post\" }\n    );\n    Q(() => {\n      x(), w();\n    });\n  }\n  function y() {\n    const w = E(c);\n    w && (b.value = w.scrollTop);\n  }\n  function O() {\n    Mn(y);\n  }\n  function R(w) {\n    gt(w.target) || w.contentRect.height === f.value || (f.value = w.contentRect.height);\n  }\n  function S(w, x) {\n    var dt, ht;\n    if (E(r)) return;\n    const T = l.value.get(w), M = p.value, A = M.get(T), N = ((ht = (dt = x.borderBoxSize) == null ? void 0 : dt[0]) == null ? void 0 : ht.blockSize) ?? x.contentRect.height;\n    if (N === A) return;\n    if (gt(x.target)) {\n      A && (M.add(T, -A), m.value++);\n      return;\n    }\n    const F = N - E(n), Z = N - A;\n    if (F ? d.set(w, F) : d.delete(w), !Z) return;\n    M.add(T, Z), m.value++;\n    const ee = E(c);\n    if (ee) {\n      const hn = M.sum(T);\n      ee.scrollTop > hn && ee.scrollBy(0, Z), b.value = ee.scrollTop;\n    }\n  }\n  function C(w, x) {\n    const T = E(c);\n    T && T.scrollTo({\n      behavior: x,\n      top: w,\n      left: 0\n    });\n  }\n  function z(w, x) {\n    const T = E(c);\n    T && T.scrollBy({\n      behavior: x,\n      top: w,\n      left: 0\n    });\n  }\n  function L(w, x) {\n    const T = l.value.get(w);\n    T != null && B(T, x);\n  }\n  function B(w, x) {\n    const T = E(c);\n    T && T.scrollTo({\n      behavior: x,\n      top: p.value.sum(w),\n      left: 0\n    });\n  }\n  function H(w, x) {\n    const T = E(c);\n    if (!T) return;\n    const M = p.value, A = T.scrollTop;\n    if (M.sum(w) < A) {\n      B(w, x);\n      return;\n    }\n    const F = T.offsetHeight, Z = A + F, ee = M.sum(w + 1);\n    ee > Z && C(ee - F, x);\n  }\n  function _(w, x) {\n    const T = l.value.get(w);\n    T != null && H(T, x);\n  }\n  return {\n    wrapper: c,\n    indexMap: l,\n    heightTree: p,\n    startIndex: g,\n    scrollOffset: b,\n    visibleItems: v,\n    listStyle: h,\n    itemsStyle: u,\n    handleScroll: O,\n    handleResize: R,\n    handleItemResize: S,\n    scrollTo: C,\n    scrollBy: z,\n    scrollToKey: L,\n    scrollToIndex: B,\n    ensureIndexInView: H,\n    ensureKeyInView: _\n  };\n}\nexport {\n  $t as CLICK_OUTSIDE,\n  Gr as addActiveThemes,\n  so as createSlotRender,\n  co as flatVNodes,\n  gt as isHiddenElement,\n  He as observeResize,\n  fo as pickToRefs,\n  xo as placementWhileList,\n  ao as proxyExposed,\n  Vt as queryOutsideHiddenElement,\n  To as setActiveThemes,\n  un as unobserveResize,\n  Re as unrefElement,\n  oo as useClickOutside,\n  io as useDisplay,\n  uo as useFullScreen,\n  ho as useHover,\n  mo as useIntersection,\n  K as useListener,\n  po as useManualRef,\n  vo as useModifier,\n  go as useMounted,\n  bo as useMoving,\n  yo as usePointer,\n  Eo as usePopper,\n  no as useRaf,\n  wo as useResize,\n  Kr as useRtl,\n  to as useSetInterval,\n  eo as useSetTimeout,\n  Ro as useTheme,\n  So as useTimerRecord,\n  Oo as useTriggerHandler,\n  ko as useVirtual,\n  lo as watchPauseable\n};\n//# sourceMappingURL=index.mjs.map\n","<script setup lang=\"ts\">\nimport {\n  nextTick,\n  onBeforeMount,\n  onBeforeUnmount,\n  onMounted,\n  provide,\n  reactive,\n  ref,\n  toRefs,\n  watch,\n} from 'vue'\n\nimport GridItem from './grid-item.vue'\nimport { useResize } from '@vexip-ui/hooks'\nimport { createEventEmitter, debounce, isNull } from '@vexip-ui/utils'\nimport {\n  EMITTER_KEY,\n  LAYOUT_KEY,\n  bottom,\n  cloneLayout,\n  compact,\n  getAllCollisions,\n  getLayoutItem,\n  moveElement,\n  validateLayout,\n} from '../helpers/common'\nimport {\n  findOrGenerateResponsiveLayout,\n  getBreakpointFromWidth,\n  getColsFromBreakpoint,\n} from '../helpers/responsive'\n\nimport type { Breakpoint, Layout, LayoutInstance } from '../helpers/types'\nimport type { GridLayoutProps } from './types'\n\nconst props = withDefaults(defineProps<GridLayoutProps>(), {\n  autoSize: true,\n  colNum: 12,\n  rowHeight: 150,\n  maxRows: Infinity,\n  margin: () => [10, 10],\n  isDraggable: true,\n  isResizable: true,\n  isMirrored: false,\n  isBounded: false,\n  useCssTransforms: true,\n  verticalCompact: true,\n  restoreOnDrag: false,\n  responsive: false,\n  responsiveLayouts: () => ({}),\n  transformScale: 1,\n  breakpoints: () => ({ lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 }),\n  cols: () => ({ lg: 12, md: 10, sm: 6, xs: 4, xxs: 2 }),\n  preventCollision: false,\n  useStyleCursor: true,\n})\n\nconst emit = defineEmits([\n  'layout-before-mount',\n  'layout-mounted',\n  'layout-updated',\n  'breakpoint-changed',\n  'update:layout',\n  'layout-ready',\n])\n\nconst state = reactive({\n  width: -1,\n  mergedStyle: {},\n  lastLayoutLength: 0,\n  isDragging: false,\n  placeholder: {\n    x: 0,\n    y: 0,\n    w: 0,\n    h: 0,\n    i: '' as number | string,\n  },\n  layouts: {} as Record<Breakpoint, Layout>, // array to store all layouts from different breakpoints\n  lastBreakpoint: null as Breakpoint | null, // store last active breakpoint\n  originalLayout: null! as Layout, // store original Layout\n})\n\nconst itemInstances = new Map<number | string, any>()\n\nconst currentLayout = ref(props.layout)\nconst wrapper = ref<HTMLElement>()\n\nconst { observeResize, unobserveResize } = useResize()\nconst emitter = createEventEmitter()\n\nemitter.on('resizeEvent', resizeEventHandler)\nemitter.on('dragEvent', dragEventHandler)\n\nonBeforeMount(() => {\n  emit('layout-before-mount', currentLayout.value)\n})\n\nonMounted(() => {\n  emit('layout-mounted', currentLayout.value)\n\n  nextTick(() => {\n    validateLayout(currentLayout.value)\n\n    state.originalLayout = currentLayout.value\n\n    nextTick(() => {\n      initResponsiveFeatures()\n      wrapper.value && observeResize(wrapper.value, debounce(onWindowResize, 16))\n      compact(currentLayout.value, props.verticalCompact)\n      emit('layout-updated', currentLayout.value)\n      updateHeight()\n      onWindowResize()\n    })\n  })\n})\n\nonBeforeUnmount(() => {\n  emitter.clearAll()\n  wrapper.value && unobserveResize(wrapper.value)\n})\n\nfunction resizeEventHandler(\n  eventType: string,\n  i: number | string,\n  x: number,\n  y: number,\n  h: number,\n  w: number,\n) {\n  resizeEvent(eventType, i, x, y, h, w)\n}\n\nfunction dragEventHandler(\n  eventType: string,\n  i: number | string,\n  x: number,\n  y: number,\n  h: number,\n  w: number,\n) {\n  dragEvent(eventType, i, x, y, h, w)\n}\n\nwatch(\n  () => state.width,\n  (newVal, oldVal) => {\n    nextTick(() => {\n      emitter.emit('updateWidth', newVal)\n      if (oldVal === -1) {\n        /*\n        If oldVal === -1 is when the width has never been\n        set before. That only occurs when mounting is\n        finished, and onWindowResize has been called and\n        this.width has been changed the first time after it\n        got set to null in the constructor. It is now time\n        to issue layout-ready events as the GridItems have\n        their sizes configured properly.\n\n        The reason for emitting the layout-ready events on\n        the next tick is to allow for the newly-emitted\n        updateWidth event (above) to have reached the\n        children GridItem-s and had their effect, so we're\n        sure that they have the final size before we emit\n        layout-ready (for this GridLayout) and\n        item-layout-ready (for the GridItem-s).\n\n        This way any client event handlers can reliably\n        investigate stable sizes of GridItem-s.\n      */\n        nextTick(() => {\n          emit('layout-ready', currentLayout.value)\n        })\n      }\n      updateHeight()\n    })\n  },\n)\nwatch(\n  () => [props.layout, props.layout.length],\n  () => {\n    currentLayout.value = props.layout\n    layoutUpdate()\n  },\n)\nwatch(\n  () => props.colNum,\n  val => {\n    emitter.emit('setColNum', val)\n  },\n)\nwatch(\n  () => props.rowHeight,\n  value => {\n    emitter.emit('setRowHeight', value)\n  },\n)\nwatch(\n  () => props.isDraggable,\n  value => {\n    emitter.emit('setDraggable', value)\n  },\n)\nwatch(\n  () => props.isResizable,\n  value => {\n    emitter.emit('setResizable', value)\n  },\n)\nwatch(\n  () => props.isBounded,\n  value => {\n    emitter.emit('setBounded', value)\n  },\n)\nwatch(\n  () => props.transformScale,\n  value => {\n    emitter.emit('setTransformScale', value)\n  },\n)\nwatch(\n  () => props.responsive,\n  value => {\n    if (!value) {\n      emit('update:layout', state.originalLayout)\n      emitter.emit('setColNum', props.colNum)\n    }\n    onWindowResize()\n  },\n)\nwatch(\n  () => props.maxRows,\n  value => {\n    emitter.emit('setMaxRows', value)\n  },\n)\nwatch([() => props.margin, () => props.margin[1]], updateHeight)\n\nprovide(\n  LAYOUT_KEY,\n  reactive({\n    ...toRefs(props),\n    ...toRefs(state),\n    increaseItem,\n    decreaseItem,\n  }) as LayoutInstance,\n)\nprovide(EMITTER_KEY, emitter)\n\ndefineExpose({ state, getItem, resizeEvent, dragEvent, layoutUpdate })\n\nfunction increaseItem(item: any) {\n  itemInstances.set(item.i, item)\n}\n\nfunction decreaseItem(item: any) {\n  itemInstances.delete(item.i)\n}\n\nfunction getItem(id: number | string) {\n  return itemInstances.get(id)\n}\n\nfunction layoutUpdate() {\n  if (!isNull(currentLayout.value) && !isNull(state.originalLayout)) {\n    if (currentLayout.value.length !== state.originalLayout.length) {\n      const diff = findDifference(currentLayout.value, state.originalLayout)\n\n      if (diff.length > 0) {\n        if (currentLayout.value.length > state.originalLayout.length) {\n          state.originalLayout = state.originalLayout.concat(diff)\n        } else {\n          const ids = new Set(diff.map(item => item.i))\n          state.originalLayout = state.originalLayout.filter(item => !ids.has(item.i))\n        }\n      }\n\n      state.lastLayoutLength = currentLayout.value.length\n      initResponsiveFeatures()\n    }\n\n    compact(currentLayout.value, props.verticalCompact)\n    emitter.emit('updateWidth', state.width)\n    updateHeight()\n\n    emit('layout-updated', currentLayout.value)\n  }\n}\n\nfunction updateHeight() {\n  state.mergedStyle = {\n    height: containerHeight(),\n  }\n}\n\nfunction onWindowResize() {\n  if (wrapper.value) {\n    state.width = wrapper.value.offsetWidth\n  }\n\n  emitter.emit('resizeEvent')\n}\n\nfunction containerHeight() {\n  if (!props.autoSize) return\n\n  const marginY = parseFloat(props.margin[1] as any)\n  const containerHeight = bottom(currentLayout.value) * (props.rowHeight + marginY) + marginY + 'px'\n  return containerHeight\n}\n\nlet positionsBeforeDrag: Record<string, { x: number, y: number }> | undefined\n\nfunction dragEvent(\n  eventName: string,\n  id: number | string,\n  x: number,\n  y: number,\n  h: number,\n  w: number,\n) {\n  let l = getLayoutItem(currentLayout.value, id)!\n\n  // GetLayoutItem sometimes returns null object\n  if (isNull(l)) {\n    l = { h: 0, w: 0, x: 0, y: 0, i: '' }\n  }\n\n  if (eventName === 'dragstart' && !props.verticalCompact) {\n    positionsBeforeDrag = currentLayout.value.reduce(\n      (result, { i, x, y }) => ({\n        ...result,\n        [i]: { x, y },\n      }),\n      {},\n    )\n  }\n\n  if (eventName === 'dragmove' || eventName === 'dragstart') {\n    state.placeholder.i = id\n    state.placeholder.x = l.x\n    state.placeholder.y = l.y\n    state.placeholder.w = w\n    state.placeholder.h = h\n\n    nextTick(() => {\n      state.isDragging = true\n    })\n\n    emitter.emit('updateWidth', state.width)\n  } else {\n    nextTick(() => {\n      state.isDragging = false\n    })\n  }\n\n  // Move the element to the dragged location.\n  currentLayout.value = moveElement(currentLayout.value, l, x, y, true, props.preventCollision)\n\n  if (props.restoreOnDrag) {\n    // Do not compact items more than in layout before drag\n    // Set moved item as static to avoid to compact it\n    l.static = true\n    compact(currentLayout.value, props.verticalCompact, positionsBeforeDrag)\n    l.static = false\n  } else {\n    compact(currentLayout.value, props.verticalCompact)\n  }\n\n  // needed because vue can't detect changes on array element properties\n  emitter.emit('compact')\n  updateHeight()\n  if (eventName === 'dragend') {\n    positionsBeforeDrag = undefined\n    emit('layout-updated', currentLayout.value)\n  }\n}\n\nfunction resizeEvent(\n  eventName: string | undefined,\n  id: number | string,\n  x: number,\n  y: number,\n  h: number,\n  w: number,\n) {\n  let l = getLayoutItem(currentLayout.value, id)!\n  // GetLayoutItem sometimes return null object\n  if (isNull(l)) {\n    l = { h: 0, w: 0, x: 0, y: 0, i: '' }\n  }\n\n  let hasCollisions\n  if (props.preventCollision) {\n    const collisions = getAllCollisions(currentLayout.value, { ...l, w, h }).filter(\n      layoutItem => layoutItem.i !== l.i,\n    )\n    hasCollisions = collisions.length > 0\n\n    // If we're colliding, we need adjust the placeholder.\n    if (hasCollisions) {\n      // adjust w && h to maximum allowed space\n      let leastX = Infinity\n      let leastY = Infinity\n      collisions.forEach(layoutItem => {\n        if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x)\n        if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y)\n      })\n\n      if (Number.isFinite(leastX)) l.w = leastX - l.x\n      if (Number.isFinite(leastY)) l.h = leastY - l.y\n    }\n  }\n\n  if (!hasCollisions) {\n    // Set new width and height.\n    l.w = w\n    l.h = h\n  }\n\n  if (eventName === 'resizestart' || eventName === 'resizemove') {\n    state.placeholder.i = id\n    state.placeholder.x = x\n    state.placeholder.y = y\n    state.placeholder.w = l.w\n    state.placeholder.h = l.h\n    nextTick(() => {\n      state.isDragging = true\n    })\n    // this.$broadcast(\"updateWidth\", this.width);\n    emitter.emit('updateWidth', state.width)\n  } else if (eventName) {\n    nextTick(() => {\n      state.isDragging = false\n    })\n  }\n\n  if (props.responsive) responsiveGridLayout()\n\n  compact(currentLayout.value, props.verticalCompact)\n  emitter.emit('compact')\n  updateHeight()\n\n  if (eventName === 'resizeend') emit('layout-updated', currentLayout.value)\n}\n\nfunction responsiveGridLayout() {\n  const newBreakpoint = getBreakpointFromWidth(props.breakpoints, state.width)\n\n  if (newBreakpoint === state.lastBreakpoint) {\n    return\n  }\n\n  const newCols = getColsFromBreakpoint(newBreakpoint, props.cols)\n\n  // save actual layout in layouts\n  if (!isNull(state.lastBreakpoint) && !state.layouts[state.lastBreakpoint]) {\n    state.layouts[state.lastBreakpoint] = cloneLayout(currentLayout.value)\n  }\n\n  // Find or generate a new layout.\n  const layout = findOrGenerateResponsiveLayout(\n    state.originalLayout,\n    state.layouts,\n    props.breakpoints,\n    newBreakpoint,\n    state.lastBreakpoint!,\n    newCols,\n    props.verticalCompact,\n  )\n\n  // Store the new layout.\n  state.layouts[newBreakpoint] = layout\n\n  if (state.lastBreakpoint !== newBreakpoint) {\n    emit('breakpoint-changed', newBreakpoint, layout)\n  }\n\n  currentLayout.value = layout\n\n  // new prop sync\n  emit('update:layout', layout)\n\n  state.lastBreakpoint = newBreakpoint\n  emitter.emit('setColNum', newCols)\n}\n\nfunction initResponsiveFeatures() {\n  // clear layouts\n  state.layouts = Object.assign({} as Record<Breakpoint, Layout>, props.responsiveLayouts)\n}\n\nfunction findDifference(layout: Layout, originalLayout: Layout) {\n  const originalIds = new Set(originalLayout.map(item => item.i))\n  const ids = new Set(layout.map(item => item.i))\n\n  // Find values that are in result1 but not in result2\n  const uniqueResultOne = layout.filter(item => !originalIds.has(item.i))\n\n  // Find values that are in result2 but not in result1\n  const uniqueResultTwo = originalLayout.filter(item => !ids.has(item.i))\n\n  // Combine the two arrays of unique entries#\n  return uniqueResultOne.concat(uniqueResultTwo)\n}\n</script>\n\n<template>\n  <div ref=\"wrapper\" class=\"vgl-layout\" :style=\"state.mergedStyle\">\n    <slot v-if=\"$slots.default\"></slot>\n    <template v-else>\n      <GridItem v-for=\"item in currentLayout\" :key=\"item.i\" v-bind=\"item\">\n        <slot name=\"item\" :item=\"item\"></slot>\n      </GridItem>\n    </template>\n    <GridItem\n      v-show=\"state.isDragging\"\n      class=\"vgl-item--placeholder\"\n      :x=\"state.placeholder.x\"\n      :y=\"state.placeholder.y\"\n      :w=\"state.placeholder.w\"\n      :h=\"state.placeholder.h\"\n      :i=\"state.placeholder.i\"\n    ></GridItem>\n  </div>\n</template>\n"],"names":["y","At","re","t","ot","W","Xr","e","n","r","o","Jr","i","Vt","s","c","to","x","Zt","ln","no","LAYOUT_KEY","EMITTER_KEY","bottom","layout","max","bottomY","len","cloneLayout","newLayout","cloneLayoutItem","layoutItem","collides","l1","l2","compact","verticalCompact","minPositions","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","compactItem","getFirstCollision","minY","correctBounds","bounds","collidesWith","getLayoutItem","id","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","top","left","width","height","translate","setTransformRtl","right","setTopLeft","setTopRight","a","b","validateLayout","contextName","subProps","keyArr","item","j","useNameHelper","block","namespace","element","modifier","getControlPosition","offsetXYFromParentOf","evt","offsetParent","_a","offsetParentRect","createCoreData","lastX","lastY","isNum","num","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","cols","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","currentDir","hasDocument","getDocumentDir","interact_min","interact_minModule","hasRequiredInteract_min","requireInteract_min","module","exports","d","u","p","f","h","v","g","m","w","E","T","S","_","P","O","k","D","I","M","z","R","A","C","F","X","Y","L","q","B","V","G","N","U","H","K","$","J","Q","Z","tt","et","nt","rt","it","at","st","lt","ct","ut","pt","ft","dt","ht","vt","gt","mt","yt","bt","xt","wt","Et","Tt","St","_t","Pt","Ot","kt","Dt","It","Mt","zt","Rt","Ct","jt","Ft","Xt","Yt","Lt","qt","Bt","Wt","Gt","Nt","Ut","Ht","Kt","$t","Jt","ee","Qt","te","ie","ne","oe","ae","se","ce","le","ue","pe","fe","de","he","ve","ge","me","ye","be","xe","we","Ee","Te","Se","_e","Pe","Oe","ke","De","Ie","Me","Ae","ze","Re","Ce","je","Fe","Ye","Le","Xe","qe","Be","Ve","We","Ge","Ne","Ue","He","Ke","$e","Je","Qe","Ze","tn","en","nn","rn","on","an","sn","cn","un","pn","fn","dn","hn","vn","gn","mn","yn","bn","xn","wn","En","Tn","Sn","_n","Pn","On","kn","Dn","In","Mn","zn","An","Rn","Cn","jn","Fn","Xn","Yn","Ln","qn","Bn","Gn","Vn","Wn","Nn","Un","Hn","Kn","$n","Jn","Qn","Zn","tr","er","props","__props","emit","__emit","inject","emitter","interactObj","shallowRef","state","reactive","dragEventSet","resizeEventSet","lastW","lastH","previousW","previousH","previousX","previousY","innerX","innerY","innerW","innerH","wrapper","ref","instance","toRef","calcXY","updateWidthHandler","updateWidth","compactHandler","setDraggableHandler","isDraggable","isNull","setResizableHandler","isResizable","setBoundedHandler","isBounded","setTransformScaleHandler","transformScale","setRowHeightHandler","rowHeight","setMaxRowsHandler","maxRows","directionchangeHandler","setColNum","colNum","onBeforeMount","onMounted","watchEffect","nextTickOnce","createStyle","onBeforeUnmount","__expose","isAndroid","resizableAndNotStatic","computed","renderRtl","draggableOrResizableAndNotStatic","nh","className","resizerClass","watch","value","tryMakeDraggable","tryMakeResizable","emitContainerResized","margin","pos","calcPosition","style","styleProps","prop","matches","handleResize","event","type","position","newSize","coreEvent","calcWH","handleDrag","target","newPosition","parentRect","clientRect","cLeft","pLeft","cRight","pRight","cTop","pTop","bottomBoundary","calcGridItemWHPx","clamp","colWidth","calcColWidth","rightBoundary","gridUnits","colOrRowSize","marginPx","lowerBound","upperBound","autoSizeFlag","tryInteract","interact","throttleDrag","throttle","opts","throttleResize","maximum","minimum","Or","kr","zr","Ar","Cr","Mr","Lr","Br","Pr","Dr","Fr","_r","Nr","Wr","Ir","Hr","$r","Vr","qr","jr","wo","itemInstances","currentLayout","observeResize","unobserveResize","useResize","createEventEmitter","resizeEventHandler","dragEventHandler","nextTick","initResponsiveFeatures","debounce","onWindowResize","updateHeight","eventType","resizeEvent","dragEvent","newVal","oldVal","layoutUpdate","val","provide","toRefs","increaseItem","decreaseItem","getItem","diff","findDifference","ids","containerHeight","marginY","positionsBeforeDrag","eventName","result","hasCollisions","leastX","leastY","responsiveGridLayout","newBreakpoint","newCols","originalLayout","originalIds","uniqueResultOne","uniqueResultTwo"],"mappings":"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","x_google_ignoreList":[0,5,7]}