1(()=>{"use strict";const{customElements:t,HTMLElement:e,document:n}=window;t.get("pm-popover")||t.define("pm-popover",class extends e{trigger=null;panel=null;constructor(){super(),this.trigger=this.querySelector("pm-popover-trigger"),this.panel=this.querySelector("pm-popover-content"),this.trigger&&this.panel&&(this.trigger.addEventListener("click",t=>this.onTriggerClick(t)),this.trigger.addEventListener("keydown",t=>this.onTriggerKeydown(t)),n.addEventListener("click",t=>this.onDocumentClick(t),!0),n.addEventListener("keydown",t=>this.onDocumentKeydown(t)),this.syncContentAttributes())}static get observedAttributes(){return["open"]}attributeChangedCallback(t){"open"===t&&this.syncContentAttributes()}open(){this.setAttribute("open","")}close(){const t=this.ownerDocument.activeElement;t instanceof e&&this.contains(t)&&t.blur(),this.removeAttribute("open")}toggle(){this.hasAttribute("open")?this.close():this.open()}syncContentAttributes(){if(!this.trigger||!this.panel)return;const t=this.hasAttribute("open");this.trigger.setAttribute("aria-expanded",String(t)),this.panel.setAttribute("aria-hidden",String(!t)),this.panel.toggleAttribute("inert",!t)}onTriggerClick(t){t.preventDefault(),this.toggle()}onTriggerKeydown(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.toggle())}onDocumentClick(t){if(!this.hasAttribute("open"))return;const e=t.target;e&&(this.contains(e)||this.close())}onDocumentKeydown(t){this.hasAttribute("open")&&"Escape"===t.key&&(t.preventDefault(),this.close())}}),t.get("pm-popover-trigger")||t.define("pm-popover-trigger",class extends e{}),t.get("pm-popover-content")||t.define("pm-popover-content",class extends e{})})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.