'use strict';
(() => {
  var c = class extends Event {
      oldState;
      newState;
      constructor(t, { oldState: o = '', newState: r = '', ...i } = {}) {
        super(t, i),
          (this.oldState = String(o || '')),
          (this.newState = String(r || ''));
      }
    },
    I = new WeakMap();
  function P(e, t, o) {
    I.set(
      e,
      setTimeout(() => {
        I.has(e) &&
          e.dispatchEvent(
            new c('toggle', { cancelable: !1, oldState: t, newState: o }),
          );
      }, 0),
    );
  }
  var F = globalThis.ShadowRoot || function () {},
    z = globalThis.HTMLDialogElement || function () {},
    M = new WeakMap(),
    p = new WeakMap(),
    g = new WeakMap();
  function L(e) {
    return g.get(e) || 'hidden';
  }
  var b = new WeakMap();
  function O(e) {
    let t = e.popoverTargetElement;
    if (!(t instanceof HTMLElement)) return;
    let o = L(t);
    (e.popoverTargetAction === 'show' && o === 'showing') ||
      (e.popoverTargetAction === 'hide' && o === 'hidden') ||
      (o === 'showing' ? h(t, !0, !0) : d(t, !1) && (b.set(t, e), S(t)));
  }
  function d(e, t) {
    return !(
      (e.popover !== 'auto' && e.popover !== 'manual') ||
      !e.isConnected ||
      (t && L(e) !== 'showing') ||
      (!t && L(e) !== 'hidden') ||
      (e instanceof z && e.hasAttribute('open')) ||
      document.fullscreenElement === e
    );
  }
  function R(e) {
    return e ? Array.from(p.get(e.ownerDocument) || []).indexOf(e) + 1 : 0;
  }
  function V(e) {
    let t = W(e),
      o = U(e);
    return R(t) > R(o) ? t : o;
  }
  function y(e) {
    let t = p.get(e);
    for (let o of t || [])
      if (!o.isConnected) t.delete(o);
      else return o;
    return null;
  }
  function v(e) {
    return typeof e.getRootNode == 'function'
      ? e.getRootNode()
      : e.parentNode
      ? v(e.parentNode)
      : e;
  }
  function W(e) {
    for (; e; ) {
      if (
        e instanceof HTMLElement &&
        e.popover === 'auto' &&
        g.get(e) === 'showing'
      )
        return e;
      if (
        ((e = e.parentElement || v(e)),
        e instanceof F && (e = e.host),
        e instanceof Document)
      )
        return;
    }
  }
  function U(e) {
    for (; e; ) {
      let t = e.popoverTargetElement;
      if (t instanceof HTMLElement) return t;
      if (
        ((e = e.parentElement || v(e)),
        e instanceof F && (e = e.host),
        e instanceof Document)
      )
        return;
    }
  }
  function G(e) {
    let t = new Map(),
      o = 0,
      r = e.ownerDocument;
    for (let u of p.get(r) || []) t.set(u, o), (o += 1);
    t.set(e, o), (o += 1);
    let i = null;
    function l(u) {
      let w = W(u);
      if (w === null) return null;
      let n = t.get(w);
      (i === null || t.get(i) < n) && (i = w);
    }
    return l(e?.parentElement), i;
  }
  function Q(e) {
    return e.hidden ||
      ((e instanceof HTMLButtonElement ||
        e instanceof HTMLInputElement ||
        e instanceof HTMLSelectElement ||
        e instanceof HTMLTextAreaElement ||
        e instanceof HTMLOptGroupElement ||
        e instanceof HTMLOptionElement ||
        e instanceof HTMLFieldSetElement) &&
        e.disabled) ||
      (e instanceof HTMLInputElement && e.type === 'hidden') ||
      (e instanceof HTMLAnchorElement && e.href === '')
      ? !1
      : e.tabIndex !== -1;
  }
  function _(e) {
    if (e.shadowRoot && e.shadowRoot.delegatesFocus !== !0) return null;
    let t = e;
    t.shadowRoot && (t = t.shadowRoot);
    let o = t.querySelector('[autofocus]');
    if (o) return o;
    let r = e.ownerDocument.createTreeWalker(t, NodeFilter.SHOW_ELEMENT),
      i = r.currentNode;
    for (; i; ) {
      if (Q(i)) return i;
      i = r.nextNode();
    }
  }
  function $(e) {
    _(e)?.focus();
  }
  var H = new WeakMap();
  function S(e) {
    if (!d(e, !1)) return;
    let t = e.ownerDocument;
    if (
      !e.dispatchEvent(
        new c('beforetoggle', {
          cancelable: !0,
          oldState: 'closed',
          newState: 'open',
        }),
      ) ||
      !d(e, !1)
    )
      return;
    let o = !1;
    if (e.popover === 'auto') {
      let i = e.getAttribute('popover'),
        l = G(e) || t;
      if ((T(l, !1, !0), i !== e.getAttribute('popover') || !d(e, !1))) return;
    }
    y(t) || (o = !0), H.delete(e);
    let r = t.activeElement;
    e.classList.add(':popover-open'),
      g.set(e, 'showing'),
      M.has(t) || M.set(t, new Set()),
      M.get(t).add(e),
      $(e),
      e.popover === 'auto' &&
        (p.has(t) || p.set(t, new Set()), p.get(t).add(e), B(b.get(e), !0)),
      o && r && e.popover === 'auto' && H.set(e, r),
      P(e, 'closed', 'open');
  }
  function h(e, t = !1, o = !1) {
    if (!d(e, !0)) return;
    let r = e.ownerDocument;
    if (
      (e.popover === 'auto' && (T(e, t, o), !d(e, !0))) ||
      (B(b.get(e), !1),
      b.delete(e),
      o &&
        (e.dispatchEvent(
          new c('beforetoggle', { oldState: 'open', newState: 'closed' }),
        ),
        !d(e, !0)))
    )
      return;
    M.get(r)?.delete(e),
      p.get(r)?.delete(e),
      e.classList.remove(':popover-open'),
      g.set(e, 'hidden'),
      o && P(e, 'open', 'closed');
    let i = H.get(e);
    i && (H.delete(e), t && i.focus());
  }
  function N(e, t = !1, o = !1) {
    let r = y(e);
    for (; r; ) h(r, t, o), (r = y(e));
  }
  function T(e, t, o) {
    let r = e.ownerDocument || e;
    if (e instanceof Document) return N(r, t, o);
    let i = null,
      l = !1;
    for (let u of p.get(r) || [])
      if (u === e) l = !0;
      else if (l) {
        i = u;
        break;
      }
    if (!l) return N(r, t, o);
    for (; i && L(i) === 'showing' && p.get(r)?.size; ) h(i, t, o);
  }
  var A = new WeakMap();
  function D(e) {
    if (!e.isTrusted) return;
    let t = e.composedPath()[0];
    if (!t) return;
    let o = t.ownerDocument;
    if (!y(o)) return;
    let i = V(t);
    if (i && e.type === 'pointerdown') A.set(o, i);
    else if (e.type === 'pointerup') {
      let l = A.get(o) === i;
      A.delete(o), l && T(i || o, !1, !0);
    }
  }
  var k = new WeakMap();
  function B(e, t = !1) {
    if (!e) return;
    k.has(e) || k.set(e, e.getAttribute('aria-expanded'));
    let o = e.popoverTargetElement;
    if (o instanceof HTMLElement && o.popover === 'auto')
      e.setAttribute('aria-expanded', String(t));
    else {
      let r = k.get(e);
      r
        ? e.setAttribute('aria-expanded', r)
        : e.removeAttribute('aria-expanded');
    }
  }
  var C = globalThis.ShadowRoot || function () {};
  function j() {
    return (
      typeof HTMLElement < 'u' &&
      typeof HTMLElement.prototype == 'object' &&
      'popover' in HTMLElement.prototype
    );
  }
  function f(e, t, o) {
    let r = e[t];
    Object.defineProperty(e, t, {
      value(i) {
        return r.call(this, o(i));
      },
    });
  }
  var J = /(^|[^\\]):popover-open\b/g,
    q = `
  [popover] {
    position: fixed;
    z-index: 2147483647;
    inset: 0;
    padding: 0.25em;
    height: fit-content;
    border-width: initial;
    border-color: initial;
    border-image: initial;
    border-style: solid;
    color: canvastext;
    overflow: auto;
    margin: auto;
    max-width: 40rem;
  }

  [popover]:is(dialog[open]) {
    display: revert;
  }

  [anchor].\\:popover-open {
    inset: auto;
  }

  [anchor]:is(:popover-open) {
    inset: auto;
  }

  @supports not (background-color: canvas) {
    [popover] {
      background-color: white;
      color: black;
    }
  }

  @supports (width: -moz-fit-content) {
    [popover] {
      height: -moz-fit-content;
    }
  }

  @supports not (inset: 0) {
    [popover] {
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }
  }

  [popover]:not(.\\:popover-open) {
    display: none;
  }
`,
    m = null;
  function x(e) {
    if (m === null)
      try {
        (m = new CSSStyleSheet()), m.replaceSync(q);
      } catch {
        m = !1;
      }
    if (m === !1) {
      let t = document.createElement('style');
      (t.textContent = q),
        e instanceof Document ? e.head.append(t) : e.append(t);
    } else e.adoptedStyleSheets = [...e.adoptedStyleSheets, m];
  }
  function K() {
    window.ToggleEvent = window.ToggleEvent || c;
    function e(n) {
      return (
        n?.includes(':popover-open') &&
          (n = n.replace(J, '$1.\\:popover-open')),
        n
      );
    }
    f(Document.prototype, 'querySelector', e),
      f(Document.prototype, 'querySelectorAll', e),
      f(Element.prototype, 'querySelector', e),
      f(Element.prototype, 'querySelectorAll', e),
      f(Element.prototype, 'matches', e),
      f(Element.prototype, 'closest', e),
      f(DocumentFragment.prototype, 'querySelectorAll', e),
      f(DocumentFragment.prototype, 'querySelectorAll', e),
      Object.defineProperties(HTMLElement.prototype, {
        popover: {
          enumerable: !0,
          configurable: !0,
          get() {
            if (!this.hasAttribute('popover')) return null;
            let n = (this.getAttribute('popover') || '').toLowerCase();
            return n === '' || n == 'auto' ? 'auto' : 'manual';
          },
          set(n) {
            this.setAttribute('popover', n);
          },
        },
        showPopover: {
          enumerable: !0,
          configurable: !0,
          value() {
            S(this);
          },
        },
        hidePopover: {
          enumerable: !0,
          configurable: !0,
          value() {
            h(this, !0, !0);
          },
        },
        togglePopover: {
          enumerable: !0,
          configurable: !0,
          value(n) {
            (g.get(this) === 'showing' && n === void 0) || n === !1
              ? h(this, !0, !0)
              : (n === void 0 || n === !0) && S(this);
          },
        },
      });
    let t = Element.prototype.attachShadow;
    t &&
      Object.defineProperties(Element.prototype, {
        attachShadow: {
          enumerable: !0,
          configurable: !0,
          writable: !0,
          value(n) {
            let s = t.call(this, n);
            return x(s), s;
          },
        },
      });
    let o = HTMLElement.prototype.attachInternals;
    o &&
      Object.defineProperties(HTMLElement.prototype, {
        attachInternals: {
          enumerable: !0,
          configurable: !0,
          writable: !0,
          value() {
            let n = o.call(this);
            return n.shadowRoot && x(n.shadowRoot), n;
          },
        },
      });
    let r = new WeakMap();
    function i(n) {
      Object.defineProperties(n.prototype, {
        popoverTargetElement: {
          enumerable: !0,
          configurable: !0,
          set(s) {
            if (s === null)
              this.removeAttribute('popovertarget'), r.delete(this);
            else if (s instanceof Element)
              this.setAttribute('popovertarget', ''), r.set(this, s);
            else
              throw new TypeError(
                'popoverTargetElement must be an element or null',
              );
          },
          get() {
            if (
              (this.localName !== 'button' && this.localName !== 'input') ||
              (this.localName === 'input' &&
                this.type !== 'reset' &&
                this.type !== 'image' &&
                this.type !== 'button') ||
              this.disabled ||
              (this.form && this.type === 'submit')
            )
              return null;
            let s = r.get(this);
            if (s && s.isConnected) return s;
            if (s && !s.isConnected) return r.delete(this), null;
            let a = v(this),
              E = this.getAttribute('popovertarget');
            return (
              ((a instanceof Document || a instanceof C) &&
                E &&
                a.getElementById(E)) ||
              null
            );
          },
        },
        popoverTargetAction: {
          enumerable: !0,
          configurable: !0,
          get() {
            let s = (
              this.getAttribute('popovertargetaction') || ''
            ).toLowerCase();
            return s === 'show' || s === 'hide' ? s : 'toggle';
          },
          set(s) {
            this.setAttribute('popovertargetaction', s);
          },
        },
      });
    }
    i(HTMLButtonElement), i(HTMLInputElement);
    let l = (n) => {
        if (!n.isTrusted) return;
        let s = n.composedPath()[0];
        if (!(s instanceof Element) || s?.shadowRoot) return;
        let a = v(s);
        if (!(a instanceof C || a instanceof Document)) return;
        let E = s.closest('[popovertargetaction],[popovertarget]');
        if (E) {
          O(E);
          return;
        }
      },
      u = (n) => {
        let s = n.key,
          a = n.target;
        a && (s === 'Escape' || s === 'Esc') && T(a.ownerDocument, !0, !0);
      };
    ((n) => {
      n.addEventListener('click', l),
        n.addEventListener('keydown', u),
        n.addEventListener('pointerdown', D),
        n.addEventListener('pointerup', D);
    })(document),
      x(document);
  }
  j() || K();
})();
//# sourceMappingURL=popover.iife.min.js.map
