1import{d as e}from"./defineElement-Bh-rOTph.js";import"./GlobalStylesStore--z5tmrDj.js";import{T as t}from"./TemplateElement-u6hNeGmQ.js";import{c as l,a as s,G as i}from"./glide.theme-C8f5NbyD.js";import{G as d}from"./GlideElementEvents-CTQhoAOF.js";import{h as r}from"./html-BmWsKWcd.js";import"./StyledElement-Dmi2NcTH.js";class a extends t{properties(){return{options:{type:"carousel",perView:1,startAt:0,keyboard:!1},disabled:!1,slidePrefix:"slide",bullets:!0,arrows:!0}}constructor(){super({styles:[l,s],shadowRender:!1,deferUpdate:!0}),this._glide=null,this._children=[]}connected(){this._children=Array.from(this.children),this.requestUpdate()}afterUpdate(){this.destroyGlide(),this.mountGlide()}disconnected(){this.destroyGlide()}update(){this._children.length>1&&!0!==this.disabled&&super.update()}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,t)=>{t===this._glide.index?e.classList.add("glide-element-bullet-active"):e.classList.remove("glide-element-bullet-active")}))}renderBullets(){let e=[];for(let t=0;t<this._children.length;t++)e.push(r` <div class="glide__bullet" data-glide-dir="=${t}"></div> `);return e}renderSlides(){let e=[];for(let t=0;t<this._children.length;t++)e.push(r` <li class="glide__slide">${this._children[t]}</li> `);return e}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 `:""} 18 ${this.bullets?r` <div class="glide__bullets" data-glide-el="controls[nav]">${this.renderBullets()}</div> `:""} 19 </div> 20 `}}e("freemarker-glide-element",a);export{a as default}; 21//# sourceMappingURL=freemarker-glide-element-DegRMHq0.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.