{"version":3,"file":"navbar.mjs","sources":["../../node_modules/.pnpm/@thednp+event-listener@2.0.10/node_modules/@thednp/event-listener/dist/event-listener.mjs","../../node_modules/.pnpm/@thednp+shorty@2.0.11/node_modules/@thednp/shorty/dist/shorty.mjs","../../src/ts/navbar.ts","../../src/ts/init.ts"],"sourcesContent":["const g = \"2.0.10\", e = {}, f = (t) => {\n  const { type: n, currentTarget: c } = t;\n  e[n].forEach((a, s) => {\n    c === s && a.forEach((o, i) => {\n      i.apply(s, [t]), typeof o == \"object\" && o.once && r(s, n, i, o);\n    });\n  });\n}, E = (t, n, c, a) => {\n  e[n] || (e[n] = /* @__PURE__ */ new Map());\n  const s = e[n];\n  s.has(t) || s.set(t, /* @__PURE__ */ new Map());\n  const o = s.get(\n    t\n  ), { size: i } = o;\n  o.set(c, a), i || t.addEventListener(\n    n,\n    f,\n    a\n  );\n}, r = (t, n, c, a) => {\n  const s = e[n], o = s && s.get(t), i = o && o.get(c), d = i !== void 0 ? i : a;\n  o && o.has(c) && o.delete(c), s && (!o || !o.size) && s.delete(t), (!s || !s.size) && delete e[n], (!o || !o.size) && t.removeEventListener(\n    n,\n    f,\n    d\n  );\n}, M = E, p = r;\nexport {\n  E as addListener,\n  f as globalListener,\n  p as off,\n  M as on,\n  e as registry,\n  r as removeListener,\n  g as version\n};\n//# sourceMappingURL=event-listener.mjs.map\n","const Ce = \"2.0.11\", Me = \"aria-checked\", De = \"aria-description\", Le = \"aria-describedby\", Oe = \"aria-expanded\", xe = \"aria-haspopup\", X = \"aria-hidden\", ze = \"aria-label\", Ie = \"aria-labelledby\", Pe = \"aria-modal\", Fe = \"aria-pressed\", Be = \"aria-selected\", Ve = \"aria-valuemin\", He = \"aria-valuemax\", Ue = \"aria-valuenow\", We = \"aria-valuetext\", Y = \"abort\", tt = \"beforeunload\", et = \"blur\", nt = \"change\", ot = \"contextmenu\", U = \"DOMContentLoaded\", st = \"DOMMouseScroll\", rt = \"error\", ct = \"focus\", at = \"focusin\", it = \"focusout\", ut = \"gesturechange\", lt = \"gestureend\", dt = \"gesturestart\", ft = \"keydown\", pt = \"keypress\", gt = \"keyup\", mt = \"load\", vt = \"click\", bt = \"dblclick\", Et = \"mousedown\", ht = \"mouseup\", yt = \"hover\", wt = \"mouseenter\", At = \"mouseleave\", St = \"mousein\", kt = \"mouseout\", Nt = \"mouseover\", Tt = \"mousemove\", Ct = \"mousewheel\", Mt = \"move\", Dt = \"orientationchange\", Lt = \"pointercancel\", Ot = \"pointerdown\", xt = \"pointerleave\", zt = \"pointermove\", It = \"pointerup\", Pt = \"readystatechange\", Ft = \"reset\", Bt = \"resize\", Vt = \"select\", Ht = \"selectend\", Ut = \"selectstart\", Wt = \"scroll\", Rt = \"submit\", Qt = \"touchstart\", jt = \"touchmove\", Kt = \"touchcancel\", qt = \"touchend\", Gt = \"unload\", Re = {\n  DOMContentLoaded: U,\n  DOMMouseScroll: st,\n  abort: Y,\n  beforeunload: tt,\n  blur: et,\n  change: nt,\n  click: vt,\n  contextmenu: ot,\n  dblclick: bt,\n  error: rt,\n  focus: ct,\n  focusin: at,\n  focusout: it,\n  gesturechange: ut,\n  gestureend: lt,\n  gesturestart: dt,\n  hover: yt,\n  keydown: ft,\n  keypress: pt,\n  keyup: gt,\n  load: mt,\n  mousedown: Et,\n  mousemove: Tt,\n  mousein: St,\n  mouseout: kt,\n  mouseenter: wt,\n  mouseleave: At,\n  mouseover: Nt,\n  mouseup: ht,\n  mousewheel: Ct,\n  move: Mt,\n  orientationchange: Dt,\n  pointercancel: Lt,\n  pointerdown: Ot,\n  pointerleave: xt,\n  pointermove: zt,\n  pointerup: It,\n  readystatechange: Pt,\n  reset: Ft,\n  resize: Bt,\n  scroll: Wt,\n  select: Vt,\n  selectend: Ht,\n  selectstart: Ut,\n  submit: Rt,\n  touchcancel: Kt,\n  touchend: qt,\n  touchmove: jt,\n  touchstart: Qt,\n  unload: Gt\n}, Qe = \"drag\", je = \"dragstart\", Ke = \"dragenter\", qe = \"dragleave\", Ge = \"dragover\", Ze = \"dragend\", _e = \"loadstart\", $e = {\n  start: \"mousedown\",\n  end: \"mouseup\",\n  move: \"mousemove\",\n  cancel: \"mouseleave\"\n}, Je = { down: \"mousedown\", up: \"mouseup\" }, Xe = \"onmouseleave\" in document ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"], Ye = {\n  start: \"touchstart\",\n  end: \"touchend\",\n  move: \"touchmove\",\n  cancel: \"touchcancel\"\n}, tn = { in: \"focusin\", out: \"focusout\" }, Zt = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]', en = {\n  Backspace: \"Backspace\",\n  Tab: \"Tab\",\n  Enter: \"Enter\",\n  Shift: \"Shift\",\n  Control: \"Control\",\n  Alt: \"Alt\",\n  Pause: \"Pause\",\n  CapsLock: \"CapsLock\",\n  Escape: \"Escape\",\n  Scape: \"Space\",\n  ArrowLeft: \"ArrowLeft\",\n  ArrowUp: \"ArrowUp\",\n  ArrowRight: \"ArrowRight\",\n  ArrowDown: \"ArrowDown\",\n  Insert: \"Insert\",\n  Delete: \"Delete\",\n  Meta: \"Meta\",\n  ContextMenu: \"ContextMenu\",\n  ScrollLock: \"ScrollLock\"\n}, nn = \"Alt\", on = \"ArrowDown\", sn = \"ArrowUp\", rn = \"ArrowLeft\", cn = \"ArrowRight\", an = \"Backspace\", un = \"CapsLock\", ln = \"Control\", dn = \"Delete\", fn = \"Enter\", pn = \"NumpadEnter\", gn = \"Escape\", mn = \"Insert\", vn = \"Meta\", bn = \"Pause\", En = \"ScrollLock\", hn = \"Shift\", yn = \"Space\", wn = \"Tab\", _t = \"animationDuration\", $t = \"animationDelay\", W = \"animationName\", C = \"animationend\", Jt = \"transitionDuration\", Xt = \"transitionDelay\", M = \"transitionend\", R = \"transitionProperty\", An = \"addEventListener\", Sn = \"removeEventListener\", kn = {\n  linear: \"linear\",\n  easingSinusoidalIn: \"cubic-bezier(0.47,0,0.745,0.715)\",\n  easingSinusoidalOut: \"cubic-bezier(0.39,0.575,0.565,1)\",\n  easingSinusoidalInOut: \"cubic-bezier(0.445,0.05,0.55,0.95)\",\n  easingQuadraticIn: \"cubic-bezier(0.550,0.085,0.680,0.530)\",\n  easingQuadraticOut: \"cubic-bezier(0.250,0.460,0.450,0.940)\",\n  easingQuadraticInOut: \"cubic-bezier(0.455,0.030,0.515,0.955)\",\n  easingCubicIn: \"cubic-bezier(0.55,0.055,0.675,0.19)\",\n  easingCubicOut: \"cubic-bezier(0.215,0.61,0.355,1)\",\n  easingCubicInOut: \"cubic-bezier(0.645,0.045,0.355,1)\",\n  easingQuarticIn: \"cubic-bezier(0.895,0.03,0.685,0.22)\",\n  easingQuarticOut: \"cubic-bezier(0.165,0.84,0.44,1)\",\n  easingQuarticInOut: \"cubic-bezier(0.77,0,0.175,1)\",\n  easingQuinticIn: \"cubic-bezier(0.755,0.05,0.855,0.06)\",\n  easingQuinticOut: \"cubic-bezier(0.23,1,0.32,1)\",\n  easingQuinticInOut: \"cubic-bezier(0.86,0,0.07,1)\",\n  easingExponentialIn: \"cubic-bezier(0.95,0.05,0.795,0.035)\",\n  easingExponentialOut: \"cubic-bezier(0.19,1,0.22,1)\",\n  easingExponentialInOut: \"cubic-bezier(1,0,0,1)\",\n  easingCircularIn: \"cubic-bezier(0.6,0.04,0.98,0.335)\",\n  easingCircularOut: \"cubic-bezier(0.075,0.82,0.165,1)\",\n  easingCircularInOut: \"cubic-bezier(0.785,0.135,0.15,0.86)\",\n  easingBackIn: \"cubic-bezier(0.6,-0.28,0.735,0.045)\",\n  easingBackOut: \"cubic-bezier(0.175,0.885,0.32,1.275)\",\n  easingBackInOut: \"cubic-bezier(0.68,-0.55,0.265,1.55)\"\n}, Nn = \"offsetHeight\", Tn = \"offsetWidth\", Cn = \"scrollHeight\", Mn = \"scrollWidth\", Dn = \"tabindex\", Ln = navigator.userAgentData, { userAgent: Yt } = navigator, On = Yt, xn = () => {\n  const t = /iPhone|iPad|iPod|Android/i;\n  return navigator?.userAgentData?.brands.some(\n    (e) => t.test(e.brand)\n  ) || t.test(navigator?.userAgent) || !1;\n}, zn = () => {\n  const t = /(iPhone|iPod|iPad)/;\n  return navigator?.userAgentData?.brands.some(\n    (e) => t.test(e.brand)\n  ) || t.test(\n    navigator?.userAgent\n  ) || !1;\n}, In = () => navigator?.userAgent?.includes(\"Firefox\") || !1, te = () => typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\"), Pn = () => [\"webkitPerspective\", \"perspective\"].some((t) => t in document.head.style), ee = () => {\n}, Q = (t, e, n, o) => {\n  const s = o || !1;\n  t.addEventListener(\n    e,\n    n,\n    s\n  );\n}, j = (t, e, n, o) => {\n  const s = o || !1;\n  t.removeEventListener(\n    e,\n    n,\n    s\n  );\n}, ne = (t, e, n, o) => {\n  const s = (r) => {\n    (r.target === t || r.currentTarget === t) && (n.apply(t, [r]), j(t, e, s, o));\n  };\n  Q(t, e, s, o);\n}, Fn = () => {\n  let t = !1;\n  try {\n    const e = Object.defineProperty({}, \"passive\", {\n      get: () => (t = !0, t)\n    });\n    ne(document, U, ee, e);\n  } catch {\n  }\n  return t;\n}, Bn = () => [\"webkitTransform\", \"transform\"].some((t) => t in document.head.style), Vn = () => \"ontouchstart\" in window || \"msMaxTouchPoints\" in navigator, Hn = () => [\"webkitAnimation\", \"animation\"].some((t) => t in document.head.style), Un = () => [\"webkitTransition\", \"transition\"].some((t) => t in document.head.style), K = (t, e) => t.getAttribute(e), Wn = (t, e, n) => e.getAttributeNS(t, n), oe = (t, e) => t.hasAttribute(e), Rn = (t, e, n) => e.hasAttributeNS(t, n), Qn = (t, e, n) => t.setAttribute(e, n), jn = (t, e, n, o) => e.setAttributeNS(t, n, o), Kn = (t, e) => t.removeAttribute(e), qn = (t, e, n) => e.removeAttributeNS(t, n), Gn = (t, ...e) => {\n  t.classList.add(...e);\n}, Zn = (t, ...e) => {\n  t.classList.remove(...e);\n}, _n = (t, e) => t.classList.contains(e), { body: $n } = document, { documentElement: Jn } = document, { head: Xn } = document, Yn = (t) => Array.from(t), v = (t) => t != null && typeof t == \"object\" || !1, u = (t) => v(t) && typeof t.nodeType == \"number\" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(\n  (e) => t.nodeType === e\n) || !1, i = (t) => u(t) && t.nodeType === 1 || !1, E = /* @__PURE__ */ new Map(), L = {\n  data: E,\n  set: (t, e, n) => {\n    if (!i(t)) return;\n    E.has(e) || E.set(e, /* @__PURE__ */ new Map()), E.get(e).set(t, n);\n  },\n  getAllFor: (t) => E.get(t) || null,\n  get: (t, e) => {\n    if (!i(t) || !e) return null;\n    const n = L.getAllFor(e);\n    return t && n && n.get(t) || null;\n  },\n  remove: (t, e) => {\n    const n = L.getAllFor(e);\n    !n || !i(t) || (n.delete(t), n.size === 0 && E.delete(e));\n  }\n}, to = (t, e) => L.get(t, e), eo = (t) => t?.charAt(0).toUpperCase() + t?.slice(1), P = (t) => t?.trim().replace(\n  /(?:^\\w|[A-Z]|\\b\\w)/g,\n  (e, n) => n === 0 ? e.toLowerCase() : e.toUpperCase()\n).replace(/\\s+/g, \"\"), N = (t) => typeof t == \"string\" || !1, q = (t) => v(t) && t.constructor.name === \"Window\" || !1, G = (t) => u(t) && t.nodeType === 9 || !1, d = (t) => G(t) ? t : u(t) ? t.ownerDocument : q(t) ? t.document : globalThis.document, T = (t, ...e) => Object.assign(t, ...e), se = (t) => {\n  if (!t) return;\n  if (N(t))\n    return d().createElement(t);\n  const { tagName: e } = t, n = se(e);\n  if (!n) return;\n  const o = { ...t };\n  return delete o.tagName, T(n, o);\n}, re = (t, e) => {\n  if (!t || !e) return;\n  if (N(e))\n    return d().createElementNS(t, e);\n  const { tagName: n } = e, o = re(t, n);\n  if (!o) return;\n  const s = { ...e };\n  return delete s.tagName, T(o, s);\n}, Z = (t, e) => t.dispatchEvent(e), no = (t, e, n) => n.indexOf(t) === e, f = (t, e, n) => {\n  const o = getComputedStyle(t, n), s = e.replace(\"webkit\", \"Webkit\").replace(/([A-Z])/g, \"-$1\").toLowerCase();\n  return o.getPropertyValue(s);\n}, ce = (t) => {\n  const e = f(t, W), n = f(t, $t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n  return Number.isNaN(s) ? 0 : s;\n}, ae = (t) => {\n  const e = f(t, W), n = f(t, _t), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n  return Number.isNaN(s) ? 0 : s;\n}, oo = (t, e) => {\n  let n = 0;\n  const o = new Event(C), s = ae(t), r = ce(t);\n  if (s) {\n    const a = (l) => {\n      l.target === t && (e.apply(t, [l]), t.removeEventListener(C, a), n = 1);\n    };\n    t.addEventListener(C, a), setTimeout(() => {\n      n || Z(t, o);\n    }, s + r + 17);\n  } else\n    e.apply(t, [o]);\n}, ie = (t) => {\n  const e = f(t, R), n = f(t, Xt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n  return Number.isNaN(s) ? 0 : s;\n}, ue = (t) => {\n  const e = f(t, R), n = f(t, Jt), o = n.includes(\"ms\") ? 1 : 1e3, s = e && e !== \"none\" ? parseFloat(n) * o : 0;\n  return Number.isNaN(s) ? 0 : s;\n}, so = (t, e) => {\n  let n = 0;\n  const o = new Event(M), s = ue(t), r = ie(t);\n  if (s) {\n    const a = (l) => {\n      l.target === t && (e.apply(t, [l]), t.removeEventListener(M, a), n = 1);\n    };\n    t.addEventListener(M, a), setTimeout(() => {\n      n || Z(t, o);\n    }, s + r + 17);\n  } else\n    e.apply(t, [o]);\n}, ro = (t) => Float32Array.from(Array.from(t)), co = (t) => Float64Array.from(Array.from(t)), ao = (t, e) => t.focus(e), io = (t) => t?.trim().replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/\\s+/g, \"-\").toLowerCase(), F = (t) => [\"true\", !0].includes(t) ? !0 : [\"false\", !1].includes(t) ? !1 : [\"null\", \"\", null, void 0].includes(t) ? null : t !== \"\" && !Number.isNaN(+t) ? +t : t, S = (t) => Object.entries(t), uo = (t, e, n, o) => {\n  if (!i(t)) return e;\n  const s = { ...n }, r = { ...t.dataset }, a = { ...e }, l = {}, p = \"title\";\n  return S(r).forEach(([c, g]) => {\n    const A = o && typeof c == \"string\" && c.includes(o) ? P(c.replace(o, \"\")) : P(c);\n    l[A] = F(g);\n  }), S(s).forEach(([c, g]) => {\n    s[c] = F(g);\n  }), S(e).forEach(([c, g]) => {\n    c in s ? a[c] = s[c] : c in l ? a[c] = l[c] : a[c] = c === p ? K(t, p) : g;\n  }), a;\n}, lo = (t, e) => v(t) && (Object.hasOwn(t, e) || e in t), fo = (t) => Object.keys(t), po = (t) => Object.values(t), go = (t) => Object.fromEntries(t), mo = (t, e) => {\n  const n = new CustomEvent(t, {\n    cancelable: !0,\n    bubbles: !0\n  });\n  return v(e) && T(n, e), n;\n}, vo = { passive: !0 }, bo = (t) => t.offsetHeight, Eo = (t, e) => {\n  S(e).forEach(([n, o]) => {\n    if (o && N(n) && n.includes(\"--\"))\n      t.style.setProperty(n, o);\n    else {\n      const s = {};\n      s[n] = o, T(t.style, s);\n    }\n  });\n}, O = (t) => v(t) && t.constructor.name === \"Map\" || !1, le = (t) => typeof t == \"number\" || !1, m = /* @__PURE__ */ new Map(), ho = {\n  set: (t, e, n, o) => {\n    i(t) && (o && o.length ? (m.has(t) || m.set(t, /* @__PURE__ */ new Map()), m.get(t).set(o, setTimeout(e, n))) : m.set(t, setTimeout(e, n)));\n  },\n  get: (t, e) => {\n    if (!i(t)) return null;\n    const n = m.get(t);\n    return e && n && O(n) ? n.get(e) || null : le(n) ? n : null;\n  },\n  clear: (t, e) => {\n    if (!i(t)) return;\n    const n = m.get(t);\n    e && e.length && O(n) ? (clearTimeout(n.get(e)), n.delete(e), n.size === 0 && m.delete(t)) : (clearTimeout(n), m.delete(t));\n  }\n}, yo = (t) => t.toLowerCase(), wo = (t) => t.toUpperCase(), de = (t, e) => (u(e) ? e : d()).querySelectorAll(t), z = /* @__PURE__ */ new Map();\nfunction _(t) {\n  const { shiftKey: e, code: n } = t, o = d(this), s = [\n    ...de(Zt, this)\n  ].filter(\n    (l) => !oe(l, \"disabled\") && !K(l, X)\n  );\n  if (!s.length) return;\n  const r = s[0], a = s[s.length - 1];\n  n === \"Tab\" && (e && o.activeElement === r ? (a.focus(), t.preventDefault()) : !e && o.activeElement === a && (r.focus(), t.preventDefault()));\n}\nconst I = (t) => z.has(t) === !0, fe = (t) => {\n  I(t) || (Q(t, \"keydown\", _), z.set(t, !0));\n}, pe = (t) => {\n  I(t) && (j(t, \"keydown\", _), z.delete(t));\n}, Ao = (t) => {\n  I(t) ? pe(t) : fe(t);\n}, b = (t) => i(t) && \"offsetWidth\" in t || !1, y = (t, e) => {\n  const { width: n, height: o, top: s, right: r, bottom: a, left: l } = t.getBoundingClientRect();\n  let p = 1, c = 1;\n  if (e && b(t)) {\n    const { offsetWidth: g, offsetHeight: A } = t;\n    p = g > 0 ? Math.round(n) / g : 1, c = A > 0 ? Math.round(o) / A : 1;\n  }\n  return {\n    width: n / p,\n    height: o / c,\n    top: s / c,\n    right: r / p,\n    bottom: a / c,\n    left: l / p,\n    x: l / p,\n    y: s / c\n  };\n}, So = (t) => d(t).body, w = (t) => d(t).documentElement, ko = (t) => d(t).head, ge = (t) => u(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\", No = (t) => {\n  const e = q(t), n = e ? t.scrollX : t.scrollLeft, o = e ? t.scrollY : t.scrollTop;\n  return { x: n, y: o };\n}, me = (t) => u(t) && t.constructor.name === \"ShadowRoot\" || !1, k = (t) => t.nodeName === \"HTML\" ? t : i(t) && t.assignedSlot || u(t) && t.parentNode || me(t) && t.host || w(t), ve = (t) => t ? G(t) ? t.defaultView : u(t) ? t?.ownerDocument?.defaultView : t : window, be = (t) => u(t) && [\"TABLE\", \"TD\", \"TH\"].includes(t.nodeName) || !1, Ee = (t, e) => t.matches(e), D = (t) => f(t, \"position\") === \"static\", he = (t) => f(t, \"position\") === \"fixed\", $ = (t) => [\":popover-open\", \":modal\"].some((e) => {\n  try {\n    return Ee(t, e);\n  } catch {\n    return !1;\n  }\n}), J = (t) => {\n  const e = te(), n = i(t) ? getComputedStyle(t) : t;\n  return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some(\n    (o) => (n.willChange || \"\").includes(o)\n  ) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n    (o) => (n.contain || \"\").includes(o)\n  );\n}, ye = (t) => {\n  let e = k(t);\n  for (; i(e) && !x(e); ) {\n    if (J(e))\n      return e;\n    if ($(e))\n      return null;\n    e = k(e);\n  }\n  return null;\n}, x = (t) => [\"html\", \"body\", \"#document\"].includes(ge(t)), B = (t) => {\n  if (!b(t) || he(t))\n    return null;\n  let e = t.offsetParent;\n  return w(t) === e && (e = e.ownerDocument.body), e;\n}, To = (t) => {\n  const e = ve(t);\n  if (!u(t) || $(t))\n    return e;\n  if (!b(t)) {\n    let o = k(t);\n    for (; o && !x(o); ) {\n      if (i(o) && !D(o))\n        return o;\n      o = k(o);\n    }\n    return e;\n  }\n  let n = B(t);\n  for (; n && be(n) && D(n); )\n    n = B(n);\n  return n && x(n) && D(n) && !J(n) ? e : n || ye(t) || e;\n}, we = (t) => {\n  if (!b(t)) return !1;\n  const { width: e, height: n } = y(t), { offsetWidth: o, offsetHeight: s } = t;\n  return Math.round(e) !== o || Math.round(n) !== s;\n}, Co = (t, e, n) => {\n  const o = b(e), s = y(\n    t,\n    o && we(e)\n  ), r = { x: 0, y: 0 };\n  if (o) {\n    const a = y(e, !0);\n    r.x = a.x + e.clientLeft, r.y = a.y + e.clientTop;\n  }\n  return {\n    x: s.left + n.x - r.x,\n    y: s.top + n.y - r.y,\n    width: s.width,\n    height: s.height\n  };\n};\nlet V = 0, H = 0;\nconst h = /* @__PURE__ */ new Map(), Ae = (t, e) => {\n  let n = e ? V : H;\n  if (e) {\n    const o = Ae(t), s = h.get(o) || /* @__PURE__ */ new Map();\n    h.has(o) || h.set(o, s), O(s) && !s.has(e) ? (s.set(e, n), V += 1) : n = s.get(e);\n  } else {\n    const o = t.id || t;\n    h.has(o) ? n = h.get(o) : (h.set(o, n), H += 1);\n  }\n  return n;\n}, Se = (t) => Array.isArray(t) || !1, Mo = (t) => u(t) && t.nodeName === \"CANVAS\" || !1, ke = (t) => b(t) && !!t.shadowRoot || !1, Do = (t) => {\n  if (!u(t)) return !1;\n  const { top: e, bottom: n } = y(t), { clientHeight: o } = w(t);\n  return e <= o && n >= 0;\n}, Lo = (t) => {\n  if (!i(t)) return !1;\n  const { clientWidth: e, clientHeight: n } = w(t), { top: o, left: s, bottom: r, right: a } = y(t, !0);\n  return o >= 0 && s >= 0 && r <= n && a <= e;\n}, Oo = (t) => Se(t) && t.every(i) || !1, xo = (t) => typeof t == \"function\" || !1, zo = (t) => v(t) && t.constructor.name === \"HTMLCollection\" || !1, Io = (t) => b(t) && t.tagName === \"IMG\" || !1, Po = (t) => {\n  if (!N(t)) return !1;\n  try {\n    JSON.parse(t);\n  } catch {\n    return !1;\n  }\n  return !0;\n}, Fo = (t) => v(t) && t.constructor.name === \"WeakMap\" || !1, Bo = (t) => u(t) && [\"SVG\", \"Image\", \"Video\", \"Canvas\"].some(\n  (e) => t.constructor.name.includes(e)\n) || !1, Vo = (t) => v(t) && t.constructor.name === \"NodeList\" || !1, Ho = (t) => w(t).dir === \"rtl\", Uo = (t) => u(t) && t.constructor.name.includes(\"SVG\") || !1, Ne = (t, e) => !t || !e ? null : t.closest(e) || Ne(t.getRootNode().host, e) || null, Wo = (t, e) => i(t) ? t : (i(e) ? e : d()).querySelector(t), Te = (t, e) => (u(e) ? e : d()).getElementsByTagName(\n  t\n), Ro = (t) => [...Te(\"*\", t)].filter(ke), Qo = (t, e) => d(e).getElementById(t), jo = (t, e) => (e && u(e) ? e : d()).getElementsByClassName(\n  t\n);\nexport {\n  Yn as ArrayFrom,\n  U as DOMContentLoadedEvent,\n  st as DOMMouseScrollEvent,\n  L as Data,\n  ro as Float32ArrayFrom,\n  co as Float64ArrayFrom,\n  T as ObjectAssign,\n  S as ObjectEntries,\n  go as ObjectFromEntries,\n  lo as ObjectHasOwn,\n  fo as ObjectKeys,\n  po as ObjectValues,\n  ho as Timer,\n  Y as abortEvent,\n  Gn as addClass,\n  An as addEventListener,\n  fe as addFocusTrap,\n  $t as animationDelay,\n  _t as animationDuration,\n  C as animationEndEvent,\n  W as animationName,\n  Me as ariaChecked,\n  Le as ariaDescribedBy,\n  De as ariaDescription,\n  Oe as ariaExpanded,\n  xe as ariaHasPopup,\n  X as ariaHidden,\n  ze as ariaLabel,\n  Ie as ariaLabelledBy,\n  Pe as ariaModal,\n  Fe as ariaPressed,\n  Be as ariaSelected,\n  He as ariaValueMax,\n  Ve as ariaValueMin,\n  Ue as ariaValueNow,\n  We as ariaValueText,\n  tt as beforeunloadEvent,\n  kn as bezierEasings,\n  et as blurEvent,\n  P as camelCase,\n  eo as capitalize,\n  nt as changeEvent,\n  Ne as closest,\n  ot as contextmenuEvent,\n  mo as createCustomEvent,\n  se as createElement,\n  re as createElementNS,\n  Z as dispatchEvent,\n  no as distinct,\n  $n as documentBody,\n  Jn as documentElement,\n  Xn as documentHead,\n  Qe as dragEvent,\n  Ze as dragendEvent,\n  Ke as dragenterEvent,\n  qe as dragleaveEvent,\n  Ge as dragoverEvent,\n  je as dragstartEvent,\n  oo as emulateAnimationEnd,\n  so as emulateTransitionEnd,\n  rt as errorEvent,\n  ao as focus,\n  ct as focusEvent,\n  tn as focusEvents,\n  Zt as focusableSelector,\n  at as focusinEvent,\n  it as focusoutEvent,\n  ut as gesturechangeEvent,\n  lt as gestureendEvent,\n  dt as gesturestartEvent,\n  K as getAttribute,\n  Wn as getAttributeNS,\n  y as getBoundingClientRect,\n  Ro as getCustomElements,\n  d as getDocument,\n  So as getDocumentBody,\n  w as getDocumentElement,\n  ko as getDocumentHead,\n  ce as getElementAnimationDelay,\n  ae as getElementAnimationDuration,\n  Qo as getElementById,\n  f as getElementStyle,\n  ie as getElementTransitionDelay,\n  ue as getElementTransitionDuration,\n  jo as getElementsByClassName,\n  Te as getElementsByTagName,\n  to as getInstance,\n  ge as getNodeName,\n  No as getNodeScroll,\n  To as getOffsetParent,\n  k as getParentNode,\n  Co as getRectRelativeToOffsetParent,\n  Ae as getUID,\n  ve as getWindow,\n  _ as handleKeyboardNavigation,\n  oe as hasAttribute,\n  Rn as hasAttributeNS,\n  _n as hasClass,\n  I as hasFocusTrap,\n  zn as isApple,\n  Se as isArray,\n  Mo as isCanvas,\n  ke as isCustomElement,\n  G as isDocument,\n  i as isElement,\n  Do as isElementInScrollRange,\n  Lo as isElementInViewport,\n  Oo as isElementsArray,\n  In as isFirefox,\n  xo as isFunction,\n  zo as isHTMLCollection,\n  b as isHTMLElement,\n  Io as isHTMLImageElement,\n  Po as isJSON,\n  O as isMap,\n  Bo as isMedia,\n  xn as isMobile,\n  u as isNode,\n  Vo as isNodeList,\n  le as isNumber,\n  v as isObject,\n  Ho as isRTL,\n  Uo as isSVGElement,\n  we as isScaledElement,\n  me as isShadowRoot,\n  N as isString,\n  be as isTableElement,\n  Fo as isWeakMap,\n  te as isWebKit,\n  q as isWindow,\n  io as kebabCase,\n  nn as keyAlt,\n  on as keyArrowDown,\n  rn as keyArrowLeft,\n  cn as keyArrowRight,\n  sn as keyArrowUp,\n  an as keyBackspace,\n  un as keyCapsLock,\n  ln as keyControl,\n  dn as keyDelete,\n  fn as keyEnter,\n  gn as keyEscape,\n  mn as keyInsert,\n  vn as keyMeta,\n  pn as keyNumpadEnter,\n  bn as keyPause,\n  En as keyScrollLock,\n  hn as keyShift,\n  yn as keySpace,\n  wn as keyTab,\n  en as keyboardEventKeys,\n  ft as keydownEvent,\n  pt as keypressEvent,\n  gt as keyupEvent,\n  mt as loadEvent,\n  _e as loadstartEvent,\n  Ee as matches,\n  Je as mouseClickEvents,\n  Xe as mouseHoverEvents,\n  $e as mouseSwipeEvents,\n  vt as mouseclickEvent,\n  bt as mousedblclickEvent,\n  Et as mousedownEvent,\n  wt as mouseenterEvent,\n  yt as mousehoverEvent,\n  St as mouseinEvent,\n  At as mouseleaveEvent,\n  Tt as mousemoveEvent,\n  kt as mouseoutEvent,\n  Nt as mouseoverEvent,\n  ht as mouseupEvent,\n  Ct as mousewheelEvent,\n  Mt as moveEvent,\n  Re as nativeEvents,\n  ee as noop,\n  uo as normalizeOptions,\n  F as normalizeValue,\n  j as off,\n  Nn as offsetHeight,\n  Tn as offsetWidth,\n  Q as on,\n  ne as one,\n  Dt as orientationchangeEvent,\n  vo as passiveHandler,\n  Lt as pointercancelEvent,\n  Ot as pointerdownEvent,\n  xt as pointerleaveEvent,\n  zt as pointermoveEvent,\n  It as pointerupEvent,\n  Wo as querySelector,\n  de as querySelectorAll,\n  Pt as readystatechangeEvent,\n  bo as reflow,\n  Kn as removeAttribute,\n  qn as removeAttributeNS,\n  Zn as removeClass,\n  Sn as removeEventListener,\n  pe as removeFocusTrap,\n  Ft as resetEvent,\n  Bt as resizeEvent,\n  Wt as scrollEvent,\n  Cn as scrollHeight,\n  Mn as scrollWidth,\n  Vt as selectEvent,\n  Ht as selectendEvent,\n  Ut as selectstartEvent,\n  Qn as setAttribute,\n  jn as setAttributeNS,\n  Eo as setElementStyle,\n  Rt as submitEvent,\n  Pn as support3DTransform,\n  Hn as supportAnimation,\n  Fn as supportPassive,\n  Vn as supportTouch,\n  Bn as supportTransform,\n  Un as supportTransition,\n  Dn as tabindex,\n  yo as toLowerCase,\n  wo as toUpperCase,\n  Ao as toggleFocusTrap,\n  Ye as touchEvents,\n  Kt as touchcancelEvent,\n  qt as touchendEvent,\n  jt as touchmoveEvent,\n  Qt as touchstartEvent,\n  Xt as transitionDelay,\n  Jt as transitionDuration,\n  M as transitionEndEvent,\n  R as transitionProperty,\n  Gt as unloadEvent,\n  On as userAgent,\n  Ln as userAgentData,\n  Ce as version\n};\n//# sourceMappingURL=shorty.mjs.map\n","import { addListener, removeListener } from \"@thednp/event-listener\";\nimport {\n  addClass,\n  ariaExpanded,\n  closest,\n  createCustomEvent,\n  Data,\n  dispatchEvent,\n  emulateTransitionEnd,\n  getDocument,\n  getElementsByClassName,\n  getElementsByTagName,\n  getElementStyle,\n  getInstance,\n  getWindow,\n  hasClass,\n  isHTMLElement,\n  isRTL,\n  keyArrowDown,\n  keyArrowLeft,\n  keyArrowRight,\n  keyArrowUp,\n  KeyboardEvent,\n  keydownEvent,\n  keyEscape,\n  keySpace,\n  keyupEvent,\n  matches,\n  mouseclickEvent,\n  mouseenterEvent,\n  MouseEvent,\n  mouseleaveEvent,\n  normalizeOptions,\n  ObjectKeys,\n  querySelector,\n  removeClass,\n  setAttribute,\n  Timer,\n} from \"@thednp/shorty\";\n\nimport { version } from \"../../package.json\";\n\n// NAVBAR GC\n// =========\nconst navbarString = \"navbar\";\nconst navbarComponent = \"Navbar\";\nconst navbarSelector = `[data-function=\"${navbarString}\"]`;\nconst navbarSelectors = `${navbarSelector},.${navbarString}`;\nconst openNavClass = \"open\";\nconst openPositionClass = \"open-position\";\nconst openMobileClass = \"open-mobile\";\nconst subnavClass = \"subnav\";\nconst subnavToggleClass = `${subnavClass}-toggle`;\nconst navbarToggleClass = `${navbarString}-toggle`;\n\nexport type NavbarOptions = {\n  breakpoint: number;\n  toggleSiblings: boolean;\n  delay: number;\n};\n\nconst defaultNavbarOptions: NavbarOptions = {\n  breakpoint: 768,\n  toggleSiblings: true,\n  delay: 500,\n};\n\nconst showNavbarEvent = createCustomEvent(`show.${navbarString}`);\nconst shownNavbarEvent = createCustomEvent(`shown.${navbarString}`);\nconst hideNavbarEvent = createCustomEvent(`hide.${navbarString}`);\nconst hiddenNavbarEvent = createCustomEvent(`hidden.${navbarString}`);\n\n/**\n * Returns a `Navbar` instance.\n *\n * @param element target element\n */\nconst getNavbarInstance = (element: Element) =>\n  getInstance<Navbar>(element, navbarComponent);\n\n/**\n * Returns a `Navbar` instance.\n *\n * @param element target element\n */\nconst initNavbarCallback = (element: Element | string) => new Navbar(element);\n\n// NAVBAR PRIVATE METHODS\n// ======================\n/**\n * @param self\n * @param add\n */\nconst toggleNavbarResizeEvent = (\n  { menu, _observer }: Navbar,\n  add?: boolean,\n) => {\n  if (add) _observer.observe(menu);\n  else _observer.disconnect();\n};\n\n/**\n * Returns `TRUE` if is mobile.\n *\n * @param self\n */\nconst checkNavbarView = (self: Navbar): boolean => {\n  const { options, menu } = self;\n  const [firstToggle] = getElementsByClassName(subnavToggleClass, menu);\n  return (\n    (firstToggle && getElementStyle(firstToggle, \"display\") !== \"none\") ||\n    getWindow(menu).innerWidth < options.breakpoint\n  );\n};\n\n/**\n * @param self\n * @param add\n */\nconst toggleNavbarEvents = (self: Navbar, add?: boolean) => {\n  const action = add ? addListener : removeListener;\n  const { items, navbarToggle, menu } = self;\n  const doc = getDocument(menu);\n\n  Array.from(items).forEach((x) => {\n    const { lastElementChild } = x;\n    if (lastElementChild && hasClass(lastElementChild, subnavClass)) {\n      action(x, mouseenterEvent, navbarEnterHandler);\n      action(x, mouseleaveEvent, navbarLeaveHandler);\n    }\n\n    const [toggleElement] = getElementsByClassName(subnavToggleClass, x);\n    /* istanbul ignore else @preserve */\n    if (toggleElement) {\n      action(\n        toggleElement,\n        mouseclickEvent,\n        navbarClickHandler,\n      );\n    }\n  });\n\n  action(doc, keydownEvent, navbarPreventScroll);\n  action(doc, keyupEvent, navbarKeyHandler);\n  /* istanbul ignore else @preserve */\n  if (navbarToggle) {\n    action(navbarToggle, mouseclickEvent, navbarClickHandler);\n  }\n};\n\n/**\n * @param element\n * @param selector\n */\nconst findChild = (element: Element, selector: string): Element => {\n  return Array.from(element.children).find((x) =>\n    matches(x, selector)\n  ) as Element;\n};\n\n/** @param element */\nconst openNavbar = (element: HTMLElement) => {\n  const subMenu = findChild(element, `.${subnavClass}`);\n  const anchor = findChild(element, \"A\");\n\n  /* istanbul ignore else @preserve */\n  if (anchor) {\n    dispatchEvent(anchor, showNavbarEvent);\n    /* istanbul ignore if @preserve */\n    if (showNavbarEvent.defaultPrevented) return;\n  }\n\n  addClass(element, openPositionClass);\n  addClass(element, openNavClass);\n\n  const { parentElement } = element;\n  /* istanbul ignore else @preserve */\n  if (parentElement) {\n    const siblings = getElementsByClassName(openNavClass, parentElement);\n    closeNavbars(Array.from(siblings).filter((x) => x !== element));\n  }\n\n  const navOpenTransitionEnd = () => {\n    Timer.clear(element, \"in\");\n\n    /* istanbul ignore else @preserve */\n    if (anchor) {\n      dispatchEvent(anchor, shownNavbarEvent);\n      setAttribute(anchor, ariaExpanded, \"true\");\n    }\n  };\n\n  /* istanbul ignore else @preserve */\n  if (subMenu) emulateTransitionEnd(subMenu, navOpenTransitionEnd);\n};\n\n/**\n * @param  element\n * @param  leave\n */\nconst closeNavbar = (element: Element, leave?: boolean) => {\n  const subMenu = findChild(element, `.${subnavClass}`);\n  const anchor = findChild(element, \"A\");\n  const toggleElement = findChild(element, subnavToggleClass);\n\n  if ([openNavClass, openMobileClass].some((c) => hasClass(element, c))) {\n    /* istanbul ignore else @preserve */\n    if (anchor) {\n      dispatchEvent(anchor, hideNavbarEvent);\n      /* istanbul ignore next @preserve - some strange bug with istanbul */\n      if (hideNavbarEvent.defaultPrevented) return;\n    }\n  }\n\n  if (hasClass(element, openNavClass)) {\n    const navCloseTransitionEnd = () => {\n      removeClass(element, openPositionClass);\n      Timer.clear(element, \"out\");\n      /* istanbul ignore else @preserve */\n      if (anchor) {\n        dispatchEvent(anchor, hiddenNavbarEvent);\n        setAttribute(anchor, ariaExpanded, \"false\");\n      }\n    };\n\n    removeClass(element, openNavClass);\n    if (leave && subMenu) emulateTransitionEnd(subMenu, navCloseTransitionEnd);\n    else navCloseTransitionEnd();\n  }\n\n  if (hasClass(element, openMobileClass)) {\n    removeClass(element, openMobileClass);\n\n    [toggleElement, anchor].forEach((x) => {\n      if (x) setAttribute(x, ariaExpanded, \"false\");\n    });\n    /* istanbul ignore else @preserve */\n    if (anchor) dispatchEvent(anchor, hiddenNavbarEvent);\n  }\n};\n\n/** @param collection */\nconst closeNavbars = (collection: HTMLCollectionOf<Element> | Element[]) => {\n  Array.from(collection).forEach((x) => closeNavbar(x));\n};\n\n// NAVBAR EVENT LISTENERS\n// ======================\n\n/**\n * @param e event object\n */\n/* istanbul ignore next @preserve */\nconst navbarPreventScroll = (e: KeyboardEvent<HTMLElement>) => {\n  const { code, target } = e;\n  const menu = isHTMLElement(target) ? closest(target, navbarSelectors) : null;\n  if (menu && [keyArrowDown, keyArrowUp, keySpace].includes(code)) {\n    e.preventDefault();\n  }\n};\n\n/**\n * @param e Event object\n */\nfunction navbarKeyHandler(this: HTMLElement, e: KeyboardEvent<HTMLElement>) {\n  const { code } = e;\n  const { activeElement } = getDocument(this);\n  const menu = activeElement && closest(activeElement, \"nav\");\n  const self = menu && getNavbarInstance(menu);\n\n  /* istanbul ignore next @preserve - filter is required */\n  if (!self || !activeElement || (this && !this.contains(activeElement))) {\n    return;\n  }\n\n  const element = closest(activeElement as HTMLElement, \"LI\");\n  /* istanbul ignore next @preserve - filter is required */\n  if (!element) return;\n\n  const isMobile = checkNavbarView(self);\n  const { previousElementSibling, nextElementSibling } = element;\n  const openParentElement = closest(element, `.${openNavClass}`);\n  const parentMenu = closest(element, \"UL\");\n  const [subnavMenu] = getElementsByClassName(subnavClass, element);\n  const preventableEvents = [\n    keySpace,\n    keyArrowDown,\n    keyArrowLeft,\n    keyArrowRight,\n    keyArrowUp,\n  ];\n  const isColumn = parentMenu &&\n    getElementStyle(parentMenu, \"flex-direction\") === \"column\";\n  const RTL = isRTL(element);\n  const sidePrevKey = RTL\n    ? /* istanbul ignore next @preserve */ keyArrowRight\n    : keyArrowLeft;\n  const sideNextKey = RTL\n    ? /* istanbul ignore next @preserve */ keyArrowLeft\n    : keyArrowRight;\n  const prevSelection = parentMenu && previousElementSibling &&\n    ((code === keyArrowUp && isColumn) || (code === sidePrevKey && !isColumn));\n  const nextSelection = parentMenu && nextElementSibling &&\n    ((code === keyArrowDown && isColumn) ||\n      (code === sideNextKey && !isColumn));\n  let elementToFocus: HTMLElement | null = null;\n\n  if (code === keyEscape && openParentElement) {\n    navbarLeaveHandler.call(openParentElement);\n    elementToFocus = openParentElement;\n  } else if (!isMobile && subnavMenu && code === keySpace) {\n    if (hasClass(element, openNavClass)) navbarLeaveHandler.call(element);\n    else navbarEnterHandler.call(element);\n  }\n\n  if (prevSelection && element !== parentMenu.firstElementChild) {\n    elementToFocus = previousElementSibling as HTMLElement;\n  } else if (nextSelection && element !== parentMenu.lastElementChild) {\n    elementToFocus = nextElementSibling as HTMLElement;\n  }\n\n  if (elementToFocus) {\n    const { firstElementChild } = elementToFocus;\n    /* istanbul ignore else @preserve */\n    if (firstElementChild) (firstElementChild as HTMLElement).focus();\n  }\n\n  if (!isMobile && preventableEvents.includes(code)) {\n    e.preventDefault();\n  }\n}\n\n/**\n * @param e Event object\n */\nconst navbarClickHandler = (\n  e: MouseEvent<HTMLElement> & { currentTarget: HTMLElement },\n) => {\n  e.preventDefault();\n\n  const { currentTarget, target } = e;\n  const menu = closest(currentTarget, navbarSelectors);\n  const self = menu && getNavbarInstance(menu);\n\n  /* istanbul ignore next @preserve - filter is required */\n  if (!self) return;\n\n  const { options, navbarToggle } = self;\n\n  /* istanbul ignore if @preserve */\n  if (target !== currentTarget && !currentTarget?.contains(target)) return;\n\n  const element = closest(currentTarget, \"LI\") || menu;\n  const toggleElement = closest(currentTarget, `.${navbarToggleClass}`) ===\n      navbarToggle\n    ? navbarToggle\n    : findChild(element, `.${subnavToggleClass}`);\n  const anchor = toggleElement === navbarToggle\n    ? null\n    : findChild(element, \"A\");\n  const openSubs = getElementsByClassName(openMobileClass, element);\n\n  if (!hasClass(element, openMobileClass)) {\n    if (anchor) {\n      /* istanbul ignore next @preserve */\n      dispatchEvent(anchor, showNavbarEvent);\n      /* istanbul ignore next @preserve */\n      if (showNavbarEvent.defaultPrevented) return;\n    }\n\n    if (toggleElement === navbarToggle) {\n      toggleNavbarResizeEvent(self, true);\n    } else {\n      const selection = options.toggleSiblings\n        ? getElementsByClassName(\n          openMobileClass,\n          element.parentElement as ParentNode,\n        )\n        : /* istanbul ignore next @preserve */ openSubs;\n      closeNavbars(selection);\n    }\n    addClass(element, openMobileClass);\n\n    /* istanbul ignore else @preserve */\n    if (toggleElement) setAttribute(toggleElement, ariaExpanded, \"true\");\n    if (anchor) {\n      /* istanbul ignore next @preserve */\n      setAttribute(anchor, ariaExpanded, \"true\");\n      /* istanbul ignore next @preserve */\n      dispatchEvent(anchor, shownNavbarEvent);\n    }\n  } else {\n    /* istanbul ignore next @preserve */\n    if (anchor) {\n      dispatchEvent(anchor, hideNavbarEvent);\n      if (hideNavbarEvent.defaultPrevented) return;\n    }\n\n    closeNavbars(openSubs);\n    removeClass(element, openMobileClass);\n\n    /* istanbul ignore else @preserve */\n    if (toggleElement) {\n      setAttribute(toggleElement, ariaExpanded, \"false\");\n      /* istanbul ignore else @preserve */\n      if (toggleElement === navbarToggle) {\n        toggleNavbarResizeEvent(self);\n      }\n    }\n    /* istanbul ignore next @preserve */\n    if (anchor) {\n      /* istanbul ignore next @preserve */\n      setAttribute(anchor, ariaExpanded, \"false\");\n      /* istanbul ignore next @preserve */\n      dispatchEvent(anchor, hiddenNavbarEvent);\n    }\n  }\n};\n\nfunction navbarEnterHandler(this: HTMLElement) {\n  const menu = closest(this, `${navbarSelector},.${navbarString}`);\n  const self = menu && getNavbarInstance(menu);\n  const timerOut = Timer.get(this, \"out\");\n\n  /* istanbul ignore if @preserve */\n  if (!self || checkNavbarView(self)) return;\n\n  Timer.clear(this, \"out\");\n\n  if (!hasClass(this, openNavClass) && !timerOut) {\n    const enterCallback = () => openNavbar(this);\n\n    Timer.set(this, enterCallback, 17, \"in\");\n  }\n}\n\nfunction navbarLeaveHandler(this: HTMLElement) {\n  const menu = closest(this, `${navbarSelector},.${navbarString}`);\n  const self = menu && getNavbarInstance(menu);\n\n  /* istanbul ignore if @preserve */\n  if (!self || checkNavbarView(self)) return;\n\n  /* istanbul ignore else @preserve */\n  if (hasClass(this, openNavClass)) {\n    Timer.clear(this, \"in\");\n    const leaveCallback = () => {\n      closeNavbars(getElementsByClassName(openPositionClass, this));\n      closeNavbar(this, true);\n    };\n\n    Timer.set(this, leaveCallback, self.options.delay, \"out\");\n  }\n}\n\n// NAVBAR DEFINITION\n// =================\n/** Creates a new Navbar for desktop and mobile navigation. */\nexport default class Navbar {\n  static selector = navbarSelector;\n  static init = initNavbarCallback;\n  static getInstance = getNavbarInstance;\n  static version = version;\n  declare public menu: HTMLElement;\n  declare public navbarToggle: HTMLElement | null;\n  declare public items: HTMLCollectionOf<HTMLElement>;\n  declare public options: NavbarOptions;\n  declare _observer: ResizeObserver;\n  /**\n   * @param target HTMLElement or selector\n   * @param config instance options\n   */\n  constructor(target: string | Element, config?: Partial<NavbarOptions>) {\n    const menu = querySelector<HTMLElement>(target as HTMLElement | string);\n\n    // invalidate\n    if (!menu) {\n      throw new TypeError(\n        `${navbarComponent} cannot initialize the specified target.`,\n      );\n    }\n    const [navbarToggle] = getElementsByClassName<HTMLElement>(\n      navbarToggleClass,\n      menu,\n    );\n\n    // reset on re-init\n    const existing = getNavbarInstance(menu);\n    if (existing) existing.dispose();\n\n    // instance targets\n    this.menu = menu;\n    this.options = normalizeOptions(menu, defaultNavbarOptions, config || {});\n    this.items = getElementsByTagName(\"LI\", menu);\n\n    this.navbarToggle = navbarToggle;\n    this._observer = new ResizeObserver(this.listenResize);\n\n    // attach events\n    toggleNavbarEvents(this, true);\n\n    // attach instance to element\n    Data.set(menu, navbarComponent, this);\n  }\n\n  get defaults() {\n    return defaultNavbarOptions;\n  }\n  get name() {\n    return navbarComponent;\n  }\n\n  // NAVBAR PUBLIC METHODS\n  // =====================\n  /**\n   * Window `resize` event listener.\n   */\n  listenResize = () => {\n    /* istanbul ignore if @preserve */\n    if (checkNavbarView(this)) return;\n    closeNavbars(\n      getElementsByClassName(openMobileClass, getDocument(this.menu)),\n    );\n    toggleNavbarResizeEvent(this);\n  };\n\n  /**\n   * Destroy Navbar instance.\n   */\n  dispose() {\n    closeNavbars(this.items);\n    toggleNavbarEvents(this);\n    toggleNavbarResizeEvent(this);\n    Data.remove(this.menu, navbarComponent);\n    ObjectKeys(this).forEach((key) => {\n      delete this[key];\n    });\n  }\n}\n","import {\n  DOMContentLoadedEvent,\n  getDocument,\n  getElementsByTagName,\n  matches,\n} from \"@thednp/shorty\";\nimport { addListener } from \"@thednp/event-listener\";\n\nimport Navbar from \"./navbar\";\n\n// DATA API\n/**\n * Navbar initialization callback\n *\n * @param context Element\n */\nconst initNavbar = (context?: ParentNode) => {\n  const { selector, init } = Navbar;\n  const collection = getElementsByTagName(\"*\", getDocument(context));\n\n  [...collection].filter((x) => matches(x, selector)).forEach(init);\n};\n\n// initialize when loaded\nif (document.body) initNavbar();\nelse {addListener(document, DOMContentLoadedEvent, () => initNavbar(), {\n    once: true,\n  });}\n"],"names":["e","f","t","c","a","s","i","r","E","d","Oe","U","ft","gt","vt","wt","At","on","sn","rn","cn","gn","yn","Jt","Xt","M","R","K","Qn","n","Gn","Zn","_n","v","u","L","to","P","q","G","T","Z","o","ie","ue","so","F","S","uo","p","g","A","fo","mo","O","le","ho","b","w","ve","_a","Ee","Ho","Ne","Wo","Te","jo","navbarString","navbarComponent","navbarSelector","navbarSelectors","openNavClass","openPositionClass","openMobileClass","subnavClass","subnavToggleClass","navbarToggleClass","defaultNavbarOptions","showNavbarEvent","createCustomEvent","shownNavbarEvent","hideNavbarEvent","hiddenNavbarEvent","getNavbarInstance","element","getInstance","initNavbarCallback","Navbar","toggleNavbarResizeEvent","menu","_observer","add","checkNavbarView","self","options","firstToggle","getElementsByClassName","getElementStyle","getWindow","toggleNavbarEvents","action","addListener","removeListener","items","navbarToggle","doc","getDocument","x","lastElementChild","hasClass","mouseenterEvent","navbarEnterHandler","mouseleaveEvent","navbarLeaveHandler","toggleElement","mouseclickEvent","navbarClickHandler","keydownEvent","navbarPreventScroll","keyupEvent","navbarKeyHandler","findChild","selector","matches","openNavbar","subMenu","anchor","dispatchEvent","addClass","parentElement","siblings","closeNavbars","emulateTransitionEnd","Timer","setAttribute","ariaExpanded","closeNavbar","leave","navCloseTransitionEnd","removeClass","collection","code","target","isHTMLElement","closest","keyArrowDown","keyArrowUp","keySpace","activeElement","isMobile","previousElementSibling","nextElementSibling","openParentElement","parentMenu","subnavMenu","preventableEvents","keyArrowLeft","keyArrowRight","isColumn","RTL","isRTL","sidePrevKey","sideNextKey","prevSelection","nextSelection","elementToFocus","keyEscape","firstElementChild","currentTarget","openSubs","selection","timerOut","enterCallback","leaveCallback","config","__publicField","querySelector","existing","normalizeOptions","getElementsByTagName","Data","ObjectKeys","key","version","initNavbar","context","init","DOMContentLoadedEvent"],"mappings":"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","x_google_ignoreList":[0,1]}