import{Segment}from"@dna/analytics";import{RespondToViewport,WithProfiler}from"@dna/mixins";import styles from"@dna/styles";import{richTextToHTML}from"@dna/utils";import{LitElement,css,html,nothing,repeat,unsafeHTML,when}from"@lit";const IDEAL_CARD_SIZE=230,IDEAL_CARD_SIZE_WIDE=264;class DNAFeaturedImageFilters extends RespondToViewport(WithProfiler(LitElement)){static properties={filters:{type:Array,state:!0},slidesPerPage:{type:Number,state:!0},applyTest1193:{type:Boolean,attribute:"apply-test-1193"}};constructor(){super(),this.filters=[],this.router=__DNA_GLOBAL__.utils.queryRouter,this.rafID=null,this.slCarouselReady=!1,this.applyTest1193=!1}connectedCallback(){super.connectedCallback(),this.router.events.addEventListener("queryChange",this._onQueryChange),this.slidesPerPage=Math.floor(window.innerWidth/(this.viewport==="widescreen"?IDEAL_CARD_SIZE_WIDE:IDEAL_CARD_SIZE)),window.addEventListener("resize",this._onWindowResize),this.querySelector(".featured-filters__image-list.sr-only")?.remove(),customElements.whenDefined("sl-carousel").then(()=>{this.slCarouselReady=!0})}disconnectedCallback(){super.disconnectedCallback(),this.router.events.removeEventListener("queryChange",this._onQueryChange),window.removeEventListener("resize",this._onWindowResize)}_onWindowResize=()=>{this.rafID||(this.rafID=window.requestAnimationFrame(()=>{this.rafID=null,this.slidesPerPage=Math.floor(window.innerWidth/(this.viewport==="widescreen"?IDEAL_CARD_SIZE_WIDE:IDEAL_CARD_SIZE))}))};_onQueryChange=()=>{this.requestUpdate()};_isFilterActive(filter){const activeQuery=this.router.query.get(),filterQuery=filter.query.split("&").reduce((acc,filterComponent)=>{const[filterKey,filterValue]=filterComponent.split("=");return!filterKey.length||!filterValue||(Object.hasOwn(acc,filterKey)||(acc[filterKey]=[]),acc[filterKey].push(filterValue.replaceAll("%20"," ").replaceAll("+"," "))),acc},{});return Object.keys(filterQuery).every(filterKey=>filterQuery[filterKey]?.every(filterValue=>activeQuery[filterKey]?.includes(filterValue)))}_handleFilterClick(e,filter){if(e.preventDefault(),this._isFilterActive(filter)){this.router.query.setQueryString("");return}this.router.query.setQueryString(filter.query),this._trackFeaturedFilterClick(filter)}_trackFeaturedFilterClick(filter){Segment.protect(()=>{Segment.track(Segment.CONSTANTS.EVENTS.COLLECTION_FEATURED_FILTER_CLICKED,{collection_featured_filter_title:filter.title,collection_featured_filter_link:`${window.location.pathname}/?${filter.query}`,collection_featured_filter_type:"featured filter"})})}_renderTile(filter){return html`
this._handleFilterClick(e,filter)}>
${filter.title}
${unsafeHTML(richTextToHTML(JSON.stringify(filter.subline)))}