1const o="is-open";class c extends HTMLElement{constructor(){super(...arguments),this.trigger=null,this.body=null,this.hasPointer=!1,this.hasKeyboardFocus=!1,this.closeTimer=null,this.onTriggerMousedown=e=>{e.preventDefault()},this.onTriggerClick=e=>{e.preventDefault(),e.stopPropagation()},this.onTriggerFocus=()=>{var e;if(!((e=this.trigger)!=null&&e.matches(":focus-visible"))){this.hasKeyboardFocus=!1;return}this.hasKeyboardFocus=!0,this.open()},this.onTriggerBlur=()=>{this.hasKeyboardFocus=!1,this.hasPointer||this.scheduleClose()},this.onPointerEnter=e=>{e.pointerType!=="touch"&&(this.hasPointer=!0,this.open())},this.onPointerLeave=e=>{e.pointerType!=="touch"&&(this.hasPointer=!1,this.hasKeyboardFocus||this.scheduleClose())},this.onContainerKeydown=e=>{e.key==="Escape"&&this.isOpen&&(e.stopPropagation(),this.close(!0))},this.onDocumentClick=e=>{if(!this.isOpen)return;const t=e.target;t&&this.contains(t)||this.close()}}connectedCallback(){this.trigger=this.querySelector(".selling-plan-selector__tooltip-trigger"),this.body=this.querySelector("[data-subscription-tooltip-body]"),this.trigger&&(this.renderBody({}),this.trigger.addEventListener("mousedown",this.onTriggerMousedown),this.trigger.addEventListener("click",this.onTriggerClick),this.trigger.addEventListener("focus",this.onTriggerFocus),this.trigger.addEventListener("blur",this.onTriggerBlur),this.addEventListener("pointerenter",this.onPointerEnter),this.addEventListener("pointerleave",this.onPointerLeave),this.addEventListener("keydown",this.onContainerKeydown),document.addEventListener("click",this.onDocumentClick))}disconnectedCallback(){var e,t,s,i;(e=this.trigger)==null||e.removeEventListener("mousedown",this.onTriggerMousedown),(t=this.trigger)==null||t.removeEventListener("click",this.onTriggerClick),(s=this.trigger)==null||s.removeEventListener("focus",this.onTriggerFocus),(i=this.trigger)==null||i.removeEventListener("blur",this.onTriggerBlur),this.removeEventListener("pointerenter",this.onPointerEnter),this.removeEventListener("pointerleave",this.onPointerLeave),this.removeEventListener("keydown",this.onContainerKeydown),document.removeEventListener("click",this.onDocumentClick),this.closeTimer!==null&&window.clearTimeout(this.closeTimer)}get isOpen(){return this.classList.contains(o)}open(){var e,t,s,i,r;this.closeTimer!==null&&(window.clearTimeout(this.closeTimer),this.closeTimer=null),!this.isOpen&&(this.classList.add(o),(e=this.trigger)==null||e.setAttribute("aria-expanded","true"),(r=this.trigger)==null||r.setAttribute("aria-label",((i=(s=(t=window.themeVars)==null?void 0:t.strings)==null?void 0:s.accessibility)==null?void 0:i.subscriptionTooltipClose)||"Close subscription details"))}close(e=!1){var t,s,i,r,n,h,l;if(this.closeTimer!==null&&(window.clearTimeout(this.closeTimer),this.closeTimer=null),!this.isOpen){e&&((t=this.trigger)==null||t.blur());return}this.classList.remove(o),(s=this.trigger)==null||s.setAttribute("aria-expanded","false"),(h=this.trigger)==null||h.setAttribute("aria-label",((n=(r=(i=window.themeVars)==null?void 0:i.strings)==null?void 0:r.accessibility)==null?void 0:n.subscriptionTooltipOpen)||"Show subscription details"),e&&((l=this.trigger)==null||l.blur())}scheduleClose(){this.closeTimer!==null&&window.clearTimeout(this.closeTimer),this.closeTimer=window.setTimeout(()=>{this.hasPointer||this.hasKeyboardFocus||this.close()},80)}setDynamicBody(e){this.renderBody(e)}renderBody(e){var i,r;if(!this.body)return;const t=((r=(i=window.themeVars)==null?void 0:i.subscriptions)==null?void 0:r.tooltipBodyTemplate)??"";if(!t){this.body.innerHTML="";return}const s=t.replace(/\{\{\s*price\s*\}\}/g,e.price??"").replace(/\{\{\s*frequency\s*\}\}/g,e.frequency??"").replace(/\{\{\s*date\s*\}\}/g,e.date??"");this.body.innerHTML=s}}customElements.get("uwp-subscription-tooltip")||customElements.define("uwp-subscription-tooltip",c);
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.