1import{t as p}from"./chunk-translations_directive.DWSzkd6.js";import{bD as l,bE as s,bF as m,bG as c,J as f,S as C,C as w}from"./storefrontApp.CsApItsi.min.js";import{S as D}from"./chunk-storefront_base_lit_element.lX23Jvc.js";import{q as N,e as u}from"./chunk-vendor-lit.NvY0u02.js";import"./chunk-vendor-di.Bh23gdA.js";import"./chunk-storefront_settings_constants.DIF02Gz.js";import"./chunk-vendor-rxjs.Dp7kflo.js";import"./chunk-vendor-lodash.CWHFt7Z.js";import"./chunk-vendor-phoenix.cdKS79L.js";const T={finished:"countdown-finished"};var v=Object.defineProperty,h=(i,e,o,d)=>{for(var t=void 0,a=i.length-1,n;a>=0;a--)(n=i[a])&&(t=n(e,o,t)||t);return t&&v(e,o,t),t};class r extends D{constructor(){super(...arguments),this.instanceId="",this.endDate="",this.endAction="hide",this.targetDate=null,this.$counter=null,this.$activeBanner=null,this.$endBanner=null}static{this.moduleName=l.component}connectedCallback(){super.connectedCallback(),this.targetDate=new Date(this.endDate),this.$counter=this.querySelector(`.${s.counter}`),this.$activeBanner=this.querySelector(`.${s.activeBanner}`),this.$endBanner=this.querySelector(`.${s.endedBanner}`),this.initCountdown()}disconnectedCallback(){super.disconnectedCallback(),this.clearTimer()}initCountdown(){if(!this.targetDate)return;this.targetDate.getTime()<=Date.now()?this.handleCountdownEnd():(this.updateCountdown(),this.countdownInterval=window.setInterval(()=>this.updateCountdown(),m))}updateCountdown(){if(!this.targetDate)return;if(this.targetDate.getTime()<=Date.now()){this.handleCountdownEnd();return}const e=N.getTimeRemaining(this.targetDate.getTime());this.updateDisplay(e)}updateDisplay(e){["days","hours","minutes","seconds"].forEach(d=>{const t=this.querySelector(`.${s.counterValue}[data-unit="${d}"]`);if(t){const n=e[d].toString().padStart(2,"0");t.textContent!==n&&(t.textContent=n)}})}handleCountdownEnd(){this.clearTimer(),this.updateDisplay({days:0,hours:0,minutes:0,seconds:0}),this.endAction===c.hide?this.hidden=!0:this.endAction===c.showEndBanner&&(this.$activeBanner&&(this.$activeBanner.hidden=!0),this.$endBanner&&(this.$endBanner.hidden=!1)),this.$counter?.setAttribute("aria-label",`${p("Countdown finished")}`),this.eventBus.emit(new f(T.finished,{id:this.instanceId}))}clearTimer(){this.countdownInterval!==void 0&&(window.clearInterval(this.countdownInterval),this.countdownInterval=void 0)}}h([u({type:String,attribute:"id"})],r.prototype,"instanceId");h([u({type:String,attribute:"end-date"})],r.prototype,"endDate");h([u({type:String,attribute:"end-action"})],r.prototype,"endAction");class A extends C{static{this.featureName=l.feature}init(){return{cores:[{type:w,instance:[r]}]}}}export{A as CountdownTimerInitializer};
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.