1import{d as e}from"./defineElement-Bh-rOTph.js";import"./GlobalStylesStore-DJcwEi1U.js";import{T as l}from"./TemplateElement-vrJB-8f5.js";import{c as s,a as t,G as i}from"./glide.theme-C8f5NbyD.js";import{G as d}from"./GlideElementEvents-CTQhoAOF.js";import{h as r}from"./html-Ck1awrLk.js";import"./StyledElement-DTZZtZgb.js";class a extends l{properties(){return{options:{type:"carousel",perView:1,startAt:0,keyboard:!1},disabled:!1,slidePrefix:"slide",bullets:!0,arrows:!0,sliderItems:[]}}constructor(){super({styles:[s,t],shadowRender:!1}),this._glide=null}connected(){this.mountGlide()}disconnected(){this.destroyGlide()}mountGlide(){const e=this.getRoot().querySelector(".glide");this._glide=new i(e,this.options).mount(),this._bullets=Array.from(this.getRoot().querySelectorAll(".glide__bullet")),this._glide.on("run",(()=>{this.dispatch(d.GLIDE_RUN,this._glide.index,{bubbles:!1,cancelable:!1,composed:!1}),this.setBulletClasses()})),this.setBulletClasses()}setBulletClasses(){this._bullets.forEach(((e,l)=>{l===this._glide.index?e.classList.add("glide-element-bullet-active"):e.classList.remove("glide-element-bullet-active")}))}renderBullets(){let e=[];for(let l=0;l<this.sliderItems?.length;l++)e.push(r` <div class="glide__bullet" data-glide-dir="=${l}"></div> `);return e}renderSlides(){return this.sliderItems?.map((e=>r` <li class="glide__slide">${e}</li> `))}destroyGlide(){this._glide&&(this._glide.destroy(),this._glide=null)}get api(){return this._glide||{go:()=>{}}}next(){this.api.go(">")}prev(){this.api.go("<")}template(){return r` 2 <div class="glide"> 3 <div class="glide__track" data-glide-el="track"> 4 <ul class="glide__slides"> 5 ${this.renderSlides()} 6 </ul> 7 </div> 8 ${this.arrows?r` 9 <div class="glide__arrows" data-glide-el="controls"> 10 <button class="glide__arrow glide__arrow--left" data-glide-dir="<"> 11 <svg-icon class="arrow--prev" name="prev"></svg-icon> 12 </button> 13 <button class="glide__arrow glide__arrow--right" data-glide-dir=">"> 14 <svg-icon class="arrow--next" name="next"></svg-icon> 15 </button> 16 </div> 17 `:null} 18 ${this.bullets?r` <div class="glide__bullets" data-glide-el="controls[nav]">${this.renderBullets()}</div> `:null} 19 </div> 20 `}}e("glide-element",a);export{a as default}; 21//# sourceMappingURL=glide-element-CILYdrmN.js.map
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.