1var AnnouncementBarItem=class extends CustomHTMLElement{connectedCallback(){this.hasContent&&(this.contentElement=this.querySelector(".announcement-bar__content"),this.delegate.on("click",'[data-action="open-content"]',this.openContent.bind(this)),this.delegate.on("click",'[data-action="close-content"]',this.closeContent.bind(this)),Shopify.designMode&&(this.addEventListener("shopify:block:select",this.openContent.bind(this)),this.addEventListener("shopify:block:deselect",this.closeContent.bind(this))))}get index(){return[...this.parentNode.children].indexOf(this)}get hasContent(){return this.hasAttribute("has-content")}get selected(){return!this.hasAttribute("hidden")}get focusTrap(){return this._trapFocus=this._trapFocus||createFocusTrap(this.contentElement.querySelector(".announcement-bar__content-inner"),{fallbackFocus:this,clickOutsideDeactivates:event=>event.target.tagName!=="BUTTON",allowOutsideClick:event=>event.target.tagName==="BUTTON",onDeactivate:this.closeContent.bind(this),preventScroll:!0})}async select(animate=!0){this.removeAttribute("hidden"),await new Promise(resolve=>{this.animate({transform:["translateY(8px)","translateY(0)"],opacity:[0,1]},{duration:animate?150:0,easing:"ease-in-out"}).onfinish=resolve})}async deselect(animate=!0){await this.closeContent(),await new Promise(resolve=>{this.animate({transform:["translateY(0)","translateY(-8px)"],opacity:[1,0]},{duration:animate?150:0,easing:"ease-in-out"}).onfinish=resolve}),this.setAttribute("hidden","")}async openContent(){this.hasContent&&(this.contentElement.addEventListener("transitionend",()=>this.focusTrap.activate(),{once:!0}),this.contentElement.removeAttribute("hidden"),document.documentElement.classList.add("lock-all"),this.dispatchEvent(new CustomEvent("announcement-bar:content:open",{bubbles:!0})))}async closeContent(){if(!this.hasContent||this.contentElement.hasAttribute("hidden"))return Promise.resolve();await new Promise(resolve=>{this.contentElement.addEventListener("transitionend",()=>resolve(),{once:!0}),this.contentElement.setAttribute("hidden",""),this.focusTrap.deactivate(),document.documentElement.classList.remove("lock-all"),this.dispatchEvent(new CustomEvent("announcement-bar:content:close",{bubbles:!0}))})}};window.customElements.define("announcement-bar-item",AnnouncementBarItem); 2//# sourceMappingURL=/cdn/shop/t/248/assets/Theme-Announcement-Bar-Item.js.map?v=33790002586059415201707913549
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.