@fluid-topics/ft-search-input 2.0.7 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4805,7 +4805,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
4805
4805
  </div>
4806
4806
  `}onSearchBarKeyDown(e){var r;switch(["Escape","Tab","Shift"].includes(e.key)||(this.searchBar.displaySuggestListbox=!0),e.key){case"Tab":this.searchBar.displaySuggestListbox=!1,this.searchBar.selectedSuggestOptionId=void 0;break;case"Escape":this.suggestManager.shouldDisplaySuggestions&&(e.stopPropagation(),e.preventDefault(),this.searchBar.displaySuggestListbox=!1,this.searchBar.selectedSuggestOptionId=void 0),this.searchBar.mobileMenuOpen=!1;break;case"ArrowDown":e.stopPropagation(),e.preventDefault(),this.suggestManager.focusNextSuggestion();break;case"ArrowUp":e.stopPropagation(),e.preventDefault(),this.suggestManager.focusPreviousSuggestion();break;case"ArrowLeft":this.searchBar.selectedSuggestOptionId&&(e.stopPropagation(),e.preventDefault(),this.suggestManager.focusArrowLeft());break;case"ArrowRight":this.searchBar.selectedSuggestOptionId&&(e.stopPropagation(),e.preventDefault(),this.suggestManager.focusArrowRight());break;case"Enter":if(this.searchBar.selectedSuggestRemoveRecent)(r=this.suggestManager.selectedSuggestRemoveRecentButton)===null||r===void 0||r.click();else{let o=this.suggestManager.selectedSuggestOptionLink||this.searchBar.launchSearchButton;o?.click()}break}}onInput(e){let r=e.composedPath()[0];this.searchBar.query=r.value}onClick(){this.onFocus()}onFocus(){this.searchBar.reactToFocus&&(this.searchBar.displaySuggestListbox=!0)}};Za.styles=Ot.css`
4807
4807
 
4808
- `;var te=function(t,e,r,o){var a=arguments.length,i=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,r,o);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(i=(a<3?s(i):a>3?s(e,r,i):s(e,r))||i);return a>3&&i&&Object.defineProperty(e,r,i),i};window.fluidtopics==null&&console.warn("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api");var Mh={filtersButton:"Filters",inputPlaceHolder:"Search",filterInputPlaceHolder:"Filter {0}",clearInputButton:"Clear",clearFilterButton:"Clear",displayMoreFilterValuesButton:"More",noFilterValuesAvailable:"No values available",searchButton:"Search",clearFilters:"Clear filters",contentLocaleSelector:"Lang",presetsSelector:"Quick filters",removeRecentSearch:"Remove {0}",back:"Back",selectLocale:"Select a language"},xd=class extends CustomEvent{constructor(e){super("change",{detail:e})}},b7=()=>{},W=class extends me.FtLitElement{constructor(){super(...arguments),this.dense=!1,this.mode="auto",this.forceMobileMenuOpen=!1,this.forceMenuOpen=!1,this.baseUrl="",this.apiIntegrationIdentifier="ft-search-bar",this.availableContentLocales=[],this.availableContentLocalesInitialized=!1,this.labels={},this.labelResolver=new me.ParametrizedLabelResolver(Mh,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new me.SearchPlaceConverter(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=Xt.M,this.displayFacets=!1,this.mobileMenuOpen=!1,this.facets=[],this.facetsInitialized=!1,this.knownFacetLabels=new Map,this.query="",this.suggestions=[],this.recentSearches=[],this.reactToFocus=!0,this.displaySuggestListbox=!1,this.selectedSuggestRemoveRecent=!1,this.suggestManager=new Mr(this),this.selectedFacetsManager=new Ir(this),this.desktopSearchBarManager=new Za(this),this.mobileSearchBarManager=new qa(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new me.Debouncer(10),this.updateLocalesDebouncer=new me.Debouncer(10),this.initSearchData=()=>{this.availableContentLocalesInitialized=!1,this.facetsLoaded=!1,this.facetsInitialized=!1,this.updateLocalesDebouncer.run(()=>{var e;(e=this.api)===null||e===void 0||e.getAvailableSearchLocales().then(r=>r.contentLocales).catch(()=>[]).then(r=>{this.availableContentLocales=r,this.availableContentLocalesInitialized=!0})}),this.updateFacetsDebouncer.run(()=>{this.retrieveFacetsFromSearch().then(()=>{this.facetsLoaded=!0,this.facetsInitialized=!0})},this.facetsInitialized?500:10)},this.facetsLoaded=!1,this.updateFacetsDebouncer=new me.Debouncer(500),this.closeFloatingContainer=e=>{this.isMobile()||(this.displayFacets=this.displayFacets&&e.composedPath().some(r=>r===this.floatingContainer))},this.closeSuggestListbox=e=>{e.composedPath().some(a=>a===this||a===this.shadowRoot)||(this.displaySuggestListbox=!1,this.selectedSuggestOptionId=void 0)},this.compareUnknownFilters=(e,r)=>e.valueFilter&&r.valueFilter?this.compareValueFilters(e.valueFilter,r.valueFilter):e.dateFilter&&r.dateFilter?this.compareDateFilters(e.dateFilter,r.dateFilter):e.rangeFilter&&r.rangeFilter?this.compareRangeFilters(e.rangeFilter,r.rangeFilter):!1,this.compareValueFilters=(e,r)=>e.negative==r.negative&&e.values.length===r.values.length&&e.values.every(o=>r.values.includes(o)),this.compareDateFilters=(e,r)=>e.type===r.type,this.compareRangeFilters=(e,r)=>e.from===r.from&&e.to===r.to,this.compareFilters=(e,r)=>e.key===r.key&&this.compareUnknownFilters(e,r),this.compareRequests=(e,r)=>(e.contentLocale==null||r.contentLocale==null||e.contentLocale===r.contentLocale)&&e.metadataFilters.length===r.metadataFilters.length&&e.metadataFilters.every(o=>r.metadataFilters.some(a=>this.compareFilters(o,a)))}isMobileMenuOpen(){return this.isMobile()&&(this.forceMobileMenuOpen||this.forceMenuOpen||this.mobileMenuOpen)}get request(){return{uiLocale:this.uiLocale,contentLocale:this.contentLocale,query:this.query,facets:this.facetsRequest,priors:this.hasPriors?this.priors:void 0,metadataFilters:this.metadataFilters,paging:{perPage:0,page:1},sort:[]}}get facetsRequest(){let e=this.metadataFilters.filter(r=>{var o,a;return((a=(o=r.valueFilter)===null||o===void 0?void 0:o.values.length)!==null&&a!==void 0?a:0)>0&&!this.displayedFilters.includes(r.key)}).map(r=>({id:r.key}));return[...this.displayedFilters.map(r=>({id:r})),...e]}get suggestRequest(){return{contentLocale:this.contentLocale,input:this.query,metadataFilters:this.metadataFilters,sort:[]}}isMobile(){switch(this.mode){case"mobile":return!0;case"desktop":return!1;default:return this.sizeCategory===Xt.S}}hasFacets(){return this.facetsRequest.length>0}get hasPresets(){return this.presets!=null&&this.presets.length>0}get hasPriors(){return this.priors!=null&&this.priors.length>0}hasLocaleSelector(){return this.availableContentLocales.length>1}focus(){var e;(e=this.container)===null||e===void 0||e.focus()}async focusInput(e=!1){this.reactToFocus=e,await(0,me.waitFor)(()=>this.input,50),this.input.focus(),this.reactToFocus=!0}clear(){this.query="",this.metadataFilters=[],this.input&&(this.input.value=""),this.mobileMenuOpen=!1,this.displayFacets=!1}render(){return le.html`
4808
+ `;var te=function(t,e,r,o){var a=arguments.length,i=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,r,o);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(i=(a<3?s(i):a>3?s(e,r,i):s(e,r))||i);return a>3&&i&&Object.defineProperty(e,r,i),i};window.fluidtopics==null&&console.warn("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api");var Mh={filtersButton:"Filters",inputPlaceHolder:"Search",filterInputPlaceHolder:"Filter {0}",clearInputButton:"Clear",clearFilterButton:"Clear",displayMoreFilterValuesButton:"More",noFilterValuesAvailable:"No values available",searchButton:"Search",clearFilters:"Clear filters",contentLocaleSelector:"Lang",presetsSelector:"Quick filters",removeRecentSearch:"Remove {0}",back:"Back",selectLocale:"Select a language"},xd=class extends CustomEvent{constructor(e){super("change",{detail:e})}},b7=()=>{},W=class extends me.FtLitElement{constructor(){super(...arguments),this.dense=!1,this.mode="auto",this.forceMobileMenuOpen=!1,this.forceMenuOpen=!1,this.baseUrl="",this.apiIntegrationIdentifier="ft-search-bar",this.availableContentLocales=[],this.availableContentLocalesInitialized=!1,this.labels={},this.labelResolver=new me.ParametrizedLabelResolver(Mh,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new me.SearchPlaceConverter(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=Xt.M,this.displayFacets=!1,this.mobileMenuOpen=!1,this.facets=[],this.facetsInitialized=!1,this.knownFacetLabels=new Map,this.query="",this.suggestions=[],this.recentSearches=[],this.reactToFocus=!0,this.displaySuggestListbox=!1,this.selectedSuggestRemoveRecent=!1,this.suggestManager=new Mr(this),this.selectedFacetsManager=new Ir(this),this.desktopSearchBarManager=new Za(this),this.mobileSearchBarManager=new qa(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new me.Debouncer(10),this.updateLocalesDebouncer=new me.Debouncer(10),this.initSearchData=()=>{this.availableContentLocalesInitialized=!1,this.facetsLoaded=!1,this.facetsInitialized=!1,this.updateLocalesDebouncer.run(()=>{var e;(e=this.api)===null||e===void 0||e.getAvailableSearchLocales().then(r=>r.contentLocales).catch(()=>[]).then(r=>{this.availableContentLocales=r,this.availableContentLocalesInitialized=!0})}),this.updateFacets()},this.facetsLoaded=!1,this.updateFacetsDebouncer=new me.Debouncer(500),this.closeFloatingContainer=e=>{this.isMobile()||(this.displayFacets=this.displayFacets&&e.composedPath().some(r=>r===this.floatingContainer))},this.closeSuggestListbox=e=>{e.composedPath().some(a=>a===this||a===this.shadowRoot)||(this.displaySuggestListbox=!1,this.selectedSuggestOptionId=void 0)},this.compareUnknownFilters=(e,r)=>e.valueFilter&&r.valueFilter?this.compareValueFilters(e.valueFilter,r.valueFilter):e.dateFilter&&r.dateFilter?this.compareDateFilters(e.dateFilter,r.dateFilter):e.rangeFilter&&r.rangeFilter?this.compareRangeFilters(e.rangeFilter,r.rangeFilter):!1,this.compareValueFilters=(e,r)=>e.negative==r.negative&&e.values.length===r.values.length&&e.values.every(o=>r.values.includes(o)),this.compareDateFilters=(e,r)=>e.type===r.type,this.compareRangeFilters=(e,r)=>e.from===r.from&&e.to===r.to,this.compareFilters=(e,r)=>e.key===r.key&&this.compareUnknownFilters(e,r),this.compareRequests=(e,r)=>(e.contentLocale==null||r.contentLocale==null||e.contentLocale===r.contentLocale)&&e.metadataFilters.length===r.metadataFilters.length&&e.metadataFilters.every(o=>r.metadataFilters.some(a=>this.compareFilters(o,a)))}isMobileMenuOpen(){return this.isMobile()&&(this.forceMobileMenuOpen||this.forceMenuOpen||this.mobileMenuOpen)}get request(){return{uiLocale:this.uiLocale,contentLocale:this.contentLocale,query:this.query,facets:this.facetsRequest,priors:this.hasPriors?this.priors:void 0,metadataFilters:this.metadataFilters,paging:{perPage:0,page:1},sort:[]}}get facetsRequest(){let e=this.metadataFilters.filter(r=>{var o,a;return((a=(o=r.valueFilter)===null||o===void 0?void 0:o.values.length)!==null&&a!==void 0?a:0)>0&&!this.displayedFilters.includes(r.key)}).map(r=>({id:r.key}));return[...this.displayedFilters.map(r=>({id:r})),...e]}get suggestRequest(){return{contentLocale:this.contentLocale,input:this.query,metadataFilters:this.metadataFilters,sort:[]}}isMobile(){switch(this.mode){case"mobile":return!0;case"desktop":return!1;default:return this.sizeCategory===Xt.S}}hasFacets(){return this.facetsRequest.length>0}get hasPresets(){return this.presets!=null&&this.presets.length>0}get hasPriors(){return this.priors!=null&&this.priors.length>0}hasLocaleSelector(){return this.availableContentLocales.length>1}focus(){var e;(e=this.container)===null||e===void 0||e.focus()}async focusInput(e=!1){this.reactToFocus=e,await(0,me.waitFor)(()=>this.input,50),this.input.focus(),this.reactToFocus=!0}clear(){this.query="",this.metadataFilters=[],this.input&&(this.input.value=""),this.mobileMenuOpen=!1,this.displayFacets=!1}render(){return le.html`
4809
4809
  <ft-size-watcher @change=${this.updateSize}></ft-size-watcher>
4810
4810
  <div class="sr-only" aria-live="polite" aria-atomic="true">
4811
4811
  ${this.renderLiveText()}
@@ -4945,7 +4945,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
4945
4945
  ></ft-filter>
4946
4946
  `})}
4947
4947
  </ft-snap-scroll>
4948
- `:le.nothing}async firstUpdated(e){super.firstUpdated(e),this.initApi(),window.addEventListener("storage",r=>{r.key===this.recentSearchesStorageKey&&this.initRecentSearches()})}update(e){var r,o,a,i,s;if(e.has("labels")&&(this.labelResolver=new me.ParametrizedLabelResolver(Mh,this.labels)),e.has("sizeCategory")&&(this.mobileMenuOpen=!1,this.displayFacets=this.displayFacets&&!this.isMobile()),super.update(e),(e.has("availableContentLocales")||e.has("contentLocale"))&&this.availableContentLocales.length>0){let l=f=>this.availableContentLocales.some(u=>u.lang==f);l(this.contentLocale)||(this.contentLocale=e.has("contentLocale")&&l(e.get("contentLocale"))?e.get("contentLocale"):(r=this.availableContentLocales[0])===null||r===void 0?void 0:r.lang)}if(e.has("baseUrl")&&this.baseUrl&&(this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.replace(/\/$/,"")),this.initRecentSearches()),e.has("presets")&&((o=this.presets)!==null&&o!==void 0?o:[]).forEach(l=>l.metadataFilters.forEach(f=>{f.valueFilter&&(f.valueFilter.values=f.valueFilter.values.map(u=>us(u)))})),e.has("presets")||e.has("selectedPreset")){let l=((a=this.presets)!==null&&a!==void 0?a:[]).find(f=>f.name===this.selectedPreset);l&&!this.compareRequests(this.request,l)&&this.setFiltersFromPreset(l)}e.has("contentLocale")&&this.contentLocale!=null&&(this.knownFacetLabels=new Map),["contentLocale","metadataFilters"].some(l=>e.has(l))&&(this.selectedPreset=(s=((i=this.presets)!==null&&i!==void 0?i:[]).find(l=>this.compareRequests(l,this.request)))===null||s===void 0?void 0:s.name),["baseUrl","apiIntegrationIdentifier"].some(l=>e.has(l))&&(this.api=void 0,this.initApi()),e.has("api")&&this.api&&this.initSearchData(),["uiLocale","contentLocale","metadataFilters","displayedFilters"].some(l=>e.has(l))&&this.updateFacets(),["query","uiLocale","contentLocale","metadataFilters","displayedFilters","api"].some(l=>e.has(l))&&this.suggestManager.update(),["query","uiLocale","contentLocale","metadataFilters"].some(l=>e.has(l))&&this.dispatchStateChangeEvent()}dispatchStateChangeEvent(){this.stateChangeEventDebouncer.run(()=>this.dispatchEvent(new xd(this.request)))}updateFacets(){this.api&&(this.facetsRequest.length>0?(this.facetsLoaded=!1,this.updateFacetsDebouncer.run(async()=>{await this.retrieveFacetsFromSearch(),this.facetsLoaded=!0,this.facetsInitialized=!0},this.facetsInitialized?500:10)):this.facets=[])}contentAvailableCallback(e){var r,o,a;if(super.contentAvailableCallback(e),e.has("displayFacets")&&this.displayFacets&&((r=this.floatingContainer)===null||r===void 0||r.focus()),this.scrollToFacet!=null&&this.facetsLoaded){(o=this.scrollingFiltersContainer)===null||o===void 0||o.scrollIndexIntoView(this.facets.findIndex(s=>s.key===this.scrollToFacet));let i=(a=this.shadowRoot)===null||a===void 0?void 0:a.querySelector(`ft-accordion-item[data-facet-key="${this.scrollToFacet}"]`);i&&(i.active=!0),this.scrollToFacet=void 0}}initApi(){this.api==null&&(this.api=window.fluidtopics?new window.fluidtopics.FluidTopicsApi(this.baseUrl,this.apiIntegrationIdentifier,!0):void 0,setTimeout(()=>this.initApi(),10))}async retrieveFacetsFromSearch(){var e;let r=new Map;await((e=this.api)===null||e===void 0?void 0:e.search({...this.request,query:""}).then(o=>o.facets.forEach(a=>{this.knownFacetLabels.set(a.key,a.label),r.set(a.key,a)})).catch(b7)),this.facets=[];for(let o of this.facetsRequest)r.has(o.id)?this.facets.push(r.get(o.id)):this.knownFacetLabels.has(o.id)&&this.facets.push({key:o.id,label:this.knownFacetLabels.get(o.id),rootNodes:[],multiSelectionable:!0,hierarchical:!1})}onFloatingContainerKeyUp(e){var r;e.key==="Escape"&&(this.displayFacets=!1,(r=this.filtersOpener)===null||r===void 0||r.focus())}setQuery(e){this.input&&(this.input.value=e),this.query=e}onLaunchSearch(){if(this.query){let e=this.recentSearches.filter(r=>r.toLowerCase()!==this.query.toLowerCase()).filter((r,o)=>o<20);this.recentSearches=[this.query,...e],this.saveRecentSearches()}this.mobileMenuOpen=!1,this.displayFacets=!1,this.focus()}get recentSearchesStorageKey(){return this.baseUrl+":ft:recent-search-queries"}initRecentSearches(){var e;this.recentSearches=JSON.parse((e=window.localStorage.getItem(this.recentSearchesStorageKey))!==null&&e!==void 0?e:"[]")}saveRecentSearches(){let e=JSON.stringify(this.recentSearches);window.localStorage.setItem(this.recentSearchesStorageKey,e),window.dispatchEvent(new StorageEvent("storage",{key:this.recentSearchesStorageKey,newValue:e,storageArea:window.localStorage,url:window.location.href}))}async connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.closeSuggestListbox),document.addEventListener("focusin",this.closeFloatingContainer),document.addEventListener("click",this.closeFloatingContainer),this.focusOnDisplay&&!me.isTouchScreen&&this.focusInput(),z.addEventListener("authentication-change",this.initSearchData),this.initSearchData()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this.closeSuggestListbox),document.removeEventListener("focusin",this.closeFloatingContainer),document.removeEventListener("click",this.closeFloatingContainer),z.removeEventListener("authentication-change",this.initSearchData)}updateSize(e){this.sizeCategory=e.detail.category}setFilter(e,r){let o=this.metadataFilters.filter(a=>!a.valueFilter||a.key!==e);this.facets.forEach(a=>{a.key===e&&(0,me.flatDeep)(a.rootNodes,i=>i.childNodes).forEach(i=>i.selected=r.includes(i.value))}),r.length&&o.push({key:e,valueFilter:{negative:!1,values:r}}),this.metadataFilters=o,this.scrollToFacet=e}setFiltersFromPreset(e){e!=null&&(e.contentLocale!=null&&(this.contentLocale=e.contentLocale),this.metadataFilters=e.metadataFilters)}clearFilters(){this.facets.forEach(r=>(0,me.flatDeep)(r.rootNodes,o=>o.childNodes).forEach(o=>o.selected=!1)),this.metadataFilters=[];let e=this.facets[0];this.scrollToFacet=e?.key}querySelector(e){return this.shadowRoot.querySelector(e)}querySelectorAll(e){return this.shadowRoot.querySelectorAll(e)}renderDesktopFloatingMenu(){return this.forceMenuOpen?le.nothing:le.html`
4948
+ `:le.nothing}async firstUpdated(e){super.firstUpdated(e),this.initApi(),window.addEventListener("storage",r=>{r.key===this.recentSearchesStorageKey&&this.initRecentSearches()})}update(e){var r,o,a,i,s;if(e.has("labels")&&(this.labelResolver=new me.ParametrizedLabelResolver(Mh,this.labels)),e.has("sizeCategory")&&(this.mobileMenuOpen=!1,this.displayFacets=this.displayFacets&&!this.isMobile()),super.update(e),(e.has("availableContentLocales")||e.has("contentLocale"))&&this.availableContentLocales.length>0){let l=f=>this.availableContentLocales.some(u=>u.lang==f);l(this.contentLocale)||(this.contentLocale=e.has("contentLocale")&&l(e.get("contentLocale"))?e.get("contentLocale"):(r=this.availableContentLocales[0])===null||r===void 0?void 0:r.lang)}if(e.has("baseUrl")&&this.baseUrl&&(this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.replace(/\/$/,"")),this.initRecentSearches()),e.has("presets")&&((o=this.presets)!==null&&o!==void 0?o:[]).forEach(l=>l.metadataFilters.forEach(f=>{f.valueFilter&&(f.valueFilter.values=f.valueFilter.values.map(u=>us(u)))})),e.has("presets")||e.has("selectedPreset")){let l=((a=this.presets)!==null&&a!==void 0?a:[]).find(f=>f.name===this.selectedPreset);l&&!this.compareRequests(this.request,l)&&this.setFiltersFromPreset(l)}e.has("contentLocale")&&this.contentLocale!=null&&(this.knownFacetLabels=new Map),["contentLocale","metadataFilters"].some(l=>e.has(l))&&(this.selectedPreset=(s=((i=this.presets)!==null&&i!==void 0?i:[]).find(l=>this.compareRequests(l,this.request)))===null||s===void 0?void 0:s.name),["baseUrl","apiIntegrationIdentifier"].some(l=>e.has(l))&&(this.api=void 0,this.initApi()),e.has("api")&&this.api&&this.initSearchData(),["uiLocale","contentLocale","metadataFilters","displayedFilters"].some(l=>e.has(l))&&this.updateFacets(),["query","uiLocale","contentLocale","metadataFilters","displayedFilters","api"].some(l=>e.has(l))&&this.suggestManager.update(),["query","uiLocale","contentLocale","metadataFilters"].some(l=>e.has(l))&&this.dispatchStateChangeEvent()}dispatchStateChangeEvent(){this.stateChangeEventDebouncer.run(()=>this.dispatchEvent(new xd(this.request)))}updateFacets(){this.facetsRequest.length>0?(this.facetsLoaded=!1,this.updateFacetsDebouncer.run(async()=>{await this.retrieveFacetsFromSearch(),this.facetsLoaded=!0,this.facetsInitialized=!0},this.facetsInitialized?500:10)):(this.facets=[],this.facetsLoaded=!0,this.facetsInitialized=!0)}contentAvailableCallback(e){var r,o,a;if(super.contentAvailableCallback(e),e.has("displayFacets")&&this.displayFacets&&((r=this.floatingContainer)===null||r===void 0||r.focus()),this.scrollToFacet!=null&&this.facetsLoaded){(o=this.scrollingFiltersContainer)===null||o===void 0||o.scrollIndexIntoView(this.facets.findIndex(s=>s.key===this.scrollToFacet));let i=(a=this.shadowRoot)===null||a===void 0?void 0:a.querySelector(`ft-accordion-item[data-facet-key="${this.scrollToFacet}"]`);i&&(i.active=!0),this.scrollToFacet=void 0}}initApi(){this.api==null&&(this.api=window.fluidtopics?new window.fluidtopics.FluidTopicsApi(this.baseUrl,this.apiIntegrationIdentifier,!0):void 0,setTimeout(()=>this.initApi(),10))}async retrieveFacetsFromSearch(){var e;if(this.facetsRequest.length==0){this.facets=[];return}let r=new Map;await((e=this.api)===null||e===void 0?void 0:e.search({...this.request,query:""}).then(o=>o.facets.forEach(a=>{this.knownFacetLabels.set(a.key,a.label),r.set(a.key,a)})).catch(b7)),this.facets=[];for(let o of this.facetsRequest)r.has(o.id)?this.facets.push(r.get(o.id)):this.knownFacetLabels.has(o.id)&&this.facets.push({key:o.id,label:this.knownFacetLabels.get(o.id),rootNodes:[],multiSelectionable:!0,hierarchical:!1})}onFloatingContainerKeyUp(e){var r;e.key==="Escape"&&(this.displayFacets=!1,(r=this.filtersOpener)===null||r===void 0||r.focus())}setQuery(e){this.input&&(this.input.value=e),this.query=e}onLaunchSearch(){if(this.query){let e=this.recentSearches.filter(r=>r.toLowerCase()!==this.query.toLowerCase()).filter((r,o)=>o<20);this.recentSearches=[this.query,...e],this.saveRecentSearches()}this.mobileMenuOpen=!1,this.displayFacets=!1,this.focus()}get recentSearchesStorageKey(){return this.baseUrl+":ft:recent-search-queries"}initRecentSearches(){var e;this.recentSearches=JSON.parse((e=window.localStorage.getItem(this.recentSearchesStorageKey))!==null&&e!==void 0?e:"[]")}saveRecentSearches(){let e=JSON.stringify(this.recentSearches);window.localStorage.setItem(this.recentSearchesStorageKey,e),window.dispatchEvent(new StorageEvent("storage",{key:this.recentSearchesStorageKey,newValue:e,storageArea:window.localStorage,url:window.location.href}))}async connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.closeSuggestListbox),document.addEventListener("focusin",this.closeFloatingContainer),document.addEventListener("click",this.closeFloatingContainer),this.focusOnDisplay&&!me.isTouchScreen&&this.focusInput(),z.addEventListener("authentication-change",this.initSearchData),this.initSearchData()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this.closeSuggestListbox),document.removeEventListener("focusin",this.closeFloatingContainer),document.removeEventListener("click",this.closeFloatingContainer),z.removeEventListener("authentication-change",this.initSearchData)}updateSize(e){this.sizeCategory=e.detail.category}setFilter(e,r){let o=this.metadataFilters.filter(a=>!a.valueFilter||a.key!==e);this.facets.forEach(a=>{a.key===e&&(0,me.flatDeep)(a.rootNodes,i=>i.childNodes).forEach(i=>i.selected=r.includes(i.value))}),r.length&&o.push({key:e,valueFilter:{negative:!1,values:r}}),this.metadataFilters=o,this.scrollToFacet=e}setFiltersFromPreset(e){e!=null&&(e.contentLocale!=null&&(this.contentLocale=e.contentLocale),this.metadataFilters=e.metadataFilters)}clearFilters(){this.facets.forEach(r=>(0,me.flatDeep)(r.rootNodes,o=>o.childNodes).forEach(o=>o.selected=!1)),this.metadataFilters=[];let e=this.facets[0];this.scrollToFacet=e?.key}querySelector(e){return this.shadowRoot.querySelector(e)}querySelectorAll(e){return this.shadowRoot.querySelectorAll(e)}renderDesktopFloatingMenu(){return this.forceMenuOpen?le.nothing:le.html`
4949
4949
  <div class="ft-search-bar--floating-panel"
4950
4950
  id="ft-search-bar-floating-panel"
4951
4951
  @keyup=${this.onFloatingContainerKeyUp}
@@ -4885,7 +4885,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
4885
4885
  </div>
4886
4886
  `}onSearchBarKeyDown(e){var r;switch(["Escape","Tab","Shift"].includes(e.key)||(this.searchBar.displaySuggestListbox=!0),e.key){case"Tab":this.searchBar.displaySuggestListbox=!1,this.searchBar.selectedSuggestOptionId=void 0;break;case"Escape":this.suggestManager.shouldDisplaySuggestions&&(e.stopPropagation(),e.preventDefault(),this.searchBar.displaySuggestListbox=!1,this.searchBar.selectedSuggestOptionId=void 0),this.searchBar.mobileMenuOpen=!1;break;case"ArrowDown":e.stopPropagation(),e.preventDefault(),this.suggestManager.focusNextSuggestion();break;case"ArrowUp":e.stopPropagation(),e.preventDefault(),this.suggestManager.focusPreviousSuggestion();break;case"ArrowLeft":this.searchBar.selectedSuggestOptionId&&(e.stopPropagation(),e.preventDefault(),this.suggestManager.focusArrowLeft());break;case"ArrowRight":this.searchBar.selectedSuggestOptionId&&(e.stopPropagation(),e.preventDefault(),this.suggestManager.focusArrowRight());break;case"Enter":if(this.searchBar.selectedSuggestRemoveRecent)(r=this.suggestManager.selectedSuggestRemoveRecentButton)===null||r===void 0||r.click();else{let o=this.suggestManager.selectedSuggestOptionLink||this.searchBar.launchSearchButton;o?.click()}break}}onInput(e){let r=e.composedPath()[0];this.searchBar.query=r.value}onClick(){this.onFocus()}onFocus(){this.searchBar.reactToFocus&&(this.searchBar.displaySuggestListbox=!0)}};_n.styles=T`
4887
4887
 
4888
- `;var ie=function(t,e,r,o){var n=arguments.length,a=n<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,o);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(n<3?s(a):n>3?s(e,r,a):s(e,r))||a);return n>3&&a&&Object.defineProperty(e,r,a),a};window.fluidtopics==null&&console.warn("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api");var th={filtersButton:"Filters",inputPlaceHolder:"Search",filterInputPlaceHolder:"Filter {0}",clearInputButton:"Clear",clearFilterButton:"Clear",displayMoreFilterValuesButton:"More",noFilterValuesAvailable:"No values available",searchButton:"Search",clearFilters:"Clear filters",contentLocaleSelector:"Lang",presetsSelector:"Quick filters",removeRecentSearch:"Remove {0}",back:"Back",selectLocale:"Select a language"},Id=class extends CustomEvent{constructor(e){super("change",{detail:e})}},Y5=()=>{},J=class extends U{constructor(){super(...arguments),this.dense=!1,this.mode="auto",this.forceMobileMenuOpen=!1,this.forceMenuOpen=!1,this.baseUrl="",this.apiIntegrationIdentifier="ft-search-bar",this.availableContentLocales=[],this.availableContentLocalesInitialized=!1,this.labels={},this.labelResolver=new Fr(th,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new qr(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=$t.M,this.displayFacets=!1,this.mobileMenuOpen=!1,this.facets=[],this.facetsInitialized=!1,this.knownFacetLabels=new Map,this.query="",this.suggestions=[],this.recentSearches=[],this.reactToFocus=!0,this.displaySuggestListbox=!1,this.selectedSuggestRemoveRecent=!1,this.suggestManager=new gr(this),this.selectedFacetsManager=new yr(this),this.desktopSearchBarManager=new _n(this),this.mobileSearchBarManager=new Rn(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new me(10),this.updateLocalesDebouncer=new me(10),this.initSearchData=()=>{this.availableContentLocalesInitialized=!1,this.facetsLoaded=!1,this.facetsInitialized=!1,this.updateLocalesDebouncer.run(()=>{var e;(e=this.api)===null||e===void 0||e.getAvailableSearchLocales().then(r=>r.contentLocales).catch(()=>[]).then(r=>{this.availableContentLocales=r,this.availableContentLocalesInitialized=!0})}),this.updateFacetsDebouncer.run(()=>{this.retrieveFacetsFromSearch().then(()=>{this.facetsLoaded=!0,this.facetsInitialized=!0})},this.facetsInitialized?500:10)},this.facetsLoaded=!1,this.updateFacetsDebouncer=new me(500),this.closeFloatingContainer=e=>{this.isMobile()||(this.displayFacets=this.displayFacets&&e.composedPath().some(r=>r===this.floatingContainer))},this.closeSuggestListbox=e=>{e.composedPath().some(n=>n===this||n===this.shadowRoot)||(this.displaySuggestListbox=!1,this.selectedSuggestOptionId=void 0)},this.compareUnknownFilters=(e,r)=>e.valueFilter&&r.valueFilter?this.compareValueFilters(e.valueFilter,r.valueFilter):e.dateFilter&&r.dateFilter?this.compareDateFilters(e.dateFilter,r.dateFilter):e.rangeFilter&&r.rangeFilter?this.compareRangeFilters(e.rangeFilter,r.rangeFilter):!1,this.compareValueFilters=(e,r)=>e.negative==r.negative&&e.values.length===r.values.length&&e.values.every(o=>r.values.includes(o)),this.compareDateFilters=(e,r)=>e.type===r.type,this.compareRangeFilters=(e,r)=>e.from===r.from&&e.to===r.to,this.compareFilters=(e,r)=>e.key===r.key&&this.compareUnknownFilters(e,r),this.compareRequests=(e,r)=>(e.contentLocale==null||r.contentLocale==null||e.contentLocale===r.contentLocale)&&e.metadataFilters.length===r.metadataFilters.length&&e.metadataFilters.every(o=>r.metadataFilters.some(n=>this.compareFilters(o,n)))}isMobileMenuOpen(){return this.isMobile()&&(this.forceMobileMenuOpen||this.forceMenuOpen||this.mobileMenuOpen)}get request(){return{uiLocale:this.uiLocale,contentLocale:this.contentLocale,query:this.query,facets:this.facetsRequest,priors:this.hasPriors?this.priors:void 0,metadataFilters:this.metadataFilters,paging:{perPage:0,page:1},sort:[]}}get facetsRequest(){let e=this.metadataFilters.filter(r=>{var o,n;return((n=(o=r.valueFilter)===null||o===void 0?void 0:o.values.length)!==null&&n!==void 0?n:0)>0&&!this.displayedFilters.includes(r.key)}).map(r=>({id:r.key}));return[...this.displayedFilters.map(r=>({id:r})),...e]}get suggestRequest(){return{contentLocale:this.contentLocale,input:this.query,metadataFilters:this.metadataFilters,sort:[]}}isMobile(){switch(this.mode){case"mobile":return!0;case"desktop":return!1;default:return this.sizeCategory===$t.S}}hasFacets(){return this.facetsRequest.length>0}get hasPresets(){return this.presets!=null&&this.presets.length>0}get hasPriors(){return this.priors!=null&&this.priors.length>0}hasLocaleSelector(){return this.availableContentLocales.length>1}focus(){var e;(e=this.container)===null||e===void 0||e.focus()}async focusInput(e=!1){this.reactToFocus=e,await Zo(()=>this.input,50),this.input.focus(),this.reactToFocus=!0}clear(){this.query="",this.metadataFilters=[],this.input&&(this.input.value=""),this.mobileMenuOpen=!1,this.displayFacets=!1}render(){return S`
4888
+ `;var ie=function(t,e,r,o){var n=arguments.length,a=n<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,o);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(n<3?s(a):n>3?s(e,r,a):s(e,r))||a);return n>3&&a&&Object.defineProperty(e,r,a),a};window.fluidtopics==null&&console.warn("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api");var th={filtersButton:"Filters",inputPlaceHolder:"Search",filterInputPlaceHolder:"Filter {0}",clearInputButton:"Clear",clearFilterButton:"Clear",displayMoreFilterValuesButton:"More",noFilterValuesAvailable:"No values available",searchButton:"Search",clearFilters:"Clear filters",contentLocaleSelector:"Lang",presetsSelector:"Quick filters",removeRecentSearch:"Remove {0}",back:"Back",selectLocale:"Select a language"},Id=class extends CustomEvent{constructor(e){super("change",{detail:e})}},Y5=()=>{},J=class extends U{constructor(){super(...arguments),this.dense=!1,this.mode="auto",this.forceMobileMenuOpen=!1,this.forceMenuOpen=!1,this.baseUrl="",this.apiIntegrationIdentifier="ft-search-bar",this.availableContentLocales=[],this.availableContentLocalesInitialized=!1,this.labels={},this.labelResolver=new Fr(th,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new qr(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=$t.M,this.displayFacets=!1,this.mobileMenuOpen=!1,this.facets=[],this.facetsInitialized=!1,this.knownFacetLabels=new Map,this.query="",this.suggestions=[],this.recentSearches=[],this.reactToFocus=!0,this.displaySuggestListbox=!1,this.selectedSuggestRemoveRecent=!1,this.suggestManager=new gr(this),this.selectedFacetsManager=new yr(this),this.desktopSearchBarManager=new _n(this),this.mobileSearchBarManager=new Rn(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new me(10),this.updateLocalesDebouncer=new me(10),this.initSearchData=()=>{this.availableContentLocalesInitialized=!1,this.facetsLoaded=!1,this.facetsInitialized=!1,this.updateLocalesDebouncer.run(()=>{var e;(e=this.api)===null||e===void 0||e.getAvailableSearchLocales().then(r=>r.contentLocales).catch(()=>[]).then(r=>{this.availableContentLocales=r,this.availableContentLocalesInitialized=!0})}),this.updateFacets()},this.facetsLoaded=!1,this.updateFacetsDebouncer=new me(500),this.closeFloatingContainer=e=>{this.isMobile()||(this.displayFacets=this.displayFacets&&e.composedPath().some(r=>r===this.floatingContainer))},this.closeSuggestListbox=e=>{e.composedPath().some(n=>n===this||n===this.shadowRoot)||(this.displaySuggestListbox=!1,this.selectedSuggestOptionId=void 0)},this.compareUnknownFilters=(e,r)=>e.valueFilter&&r.valueFilter?this.compareValueFilters(e.valueFilter,r.valueFilter):e.dateFilter&&r.dateFilter?this.compareDateFilters(e.dateFilter,r.dateFilter):e.rangeFilter&&r.rangeFilter?this.compareRangeFilters(e.rangeFilter,r.rangeFilter):!1,this.compareValueFilters=(e,r)=>e.negative==r.negative&&e.values.length===r.values.length&&e.values.every(o=>r.values.includes(o)),this.compareDateFilters=(e,r)=>e.type===r.type,this.compareRangeFilters=(e,r)=>e.from===r.from&&e.to===r.to,this.compareFilters=(e,r)=>e.key===r.key&&this.compareUnknownFilters(e,r),this.compareRequests=(e,r)=>(e.contentLocale==null||r.contentLocale==null||e.contentLocale===r.contentLocale)&&e.metadataFilters.length===r.metadataFilters.length&&e.metadataFilters.every(o=>r.metadataFilters.some(n=>this.compareFilters(o,n)))}isMobileMenuOpen(){return this.isMobile()&&(this.forceMobileMenuOpen||this.forceMenuOpen||this.mobileMenuOpen)}get request(){return{uiLocale:this.uiLocale,contentLocale:this.contentLocale,query:this.query,facets:this.facetsRequest,priors:this.hasPriors?this.priors:void 0,metadataFilters:this.metadataFilters,paging:{perPage:0,page:1},sort:[]}}get facetsRequest(){let e=this.metadataFilters.filter(r=>{var o,n;return((n=(o=r.valueFilter)===null||o===void 0?void 0:o.values.length)!==null&&n!==void 0?n:0)>0&&!this.displayedFilters.includes(r.key)}).map(r=>({id:r.key}));return[...this.displayedFilters.map(r=>({id:r})),...e]}get suggestRequest(){return{contentLocale:this.contentLocale,input:this.query,metadataFilters:this.metadataFilters,sort:[]}}isMobile(){switch(this.mode){case"mobile":return!0;case"desktop":return!1;default:return this.sizeCategory===$t.S}}hasFacets(){return this.facetsRequest.length>0}get hasPresets(){return this.presets!=null&&this.presets.length>0}get hasPriors(){return this.priors!=null&&this.priors.length>0}hasLocaleSelector(){return this.availableContentLocales.length>1}focus(){var e;(e=this.container)===null||e===void 0||e.focus()}async focusInput(e=!1){this.reactToFocus=e,await Zo(()=>this.input,50),this.input.focus(),this.reactToFocus=!0}clear(){this.query="",this.metadataFilters=[],this.input&&(this.input.value=""),this.mobileMenuOpen=!1,this.displayFacets=!1}render(){return S`
4889
4889
  <ft-size-watcher @change=${this.updateSize}></ft-size-watcher>
4890
4890
  <div class="sr-only" aria-live="polite" aria-atomic="true">
4891
4891
  ${this.renderLiveText()}
@@ -5025,7 +5025,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
5025
5025
  ></ft-filter>
5026
5026
  `})}
5027
5027
  </ft-snap-scroll>
5028
- `:z}async firstUpdated(e){super.firstUpdated(e),this.initApi(),window.addEventListener("storage",r=>{r.key===this.recentSearchesStorageKey&&this.initRecentSearches()})}update(e){var r,o,n,a,s;if(e.has("labels")&&(this.labelResolver=new Fr(th,this.labels)),e.has("sizeCategory")&&(this.mobileMenuOpen=!1,this.displayFacets=this.displayFacets&&!this.isMobile()),super.update(e),(e.has("availableContentLocales")||e.has("contentLocale"))&&this.availableContentLocales.length>0){let l=d=>this.availableContentLocales.some(f=>f.lang==d);l(this.contentLocale)||(this.contentLocale=e.has("contentLocale")&&l(e.get("contentLocale"))?e.get("contentLocale"):(r=this.availableContentLocales[0])===null||r===void 0?void 0:r.lang)}if(e.has("baseUrl")&&this.baseUrl&&(this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.replace(/\/$/,"")),this.initRecentSearches()),e.has("presets")&&((o=this.presets)!==null&&o!==void 0?o:[]).forEach(l=>l.metadataFilters.forEach(d=>{d.valueFilter&&(d.valueFilter.values=d.valueFilter.values.map(f=>Wa(f)))})),e.has("presets")||e.has("selectedPreset")){let l=((n=this.presets)!==null&&n!==void 0?n:[]).find(d=>d.name===this.selectedPreset);l&&!this.compareRequests(this.request,l)&&this.setFiltersFromPreset(l)}e.has("contentLocale")&&this.contentLocale!=null&&(this.knownFacetLabels=new Map),["contentLocale","metadataFilters"].some(l=>e.has(l))&&(this.selectedPreset=(s=((a=this.presets)!==null&&a!==void 0?a:[]).find(l=>this.compareRequests(l,this.request)))===null||s===void 0?void 0:s.name),["baseUrl","apiIntegrationIdentifier"].some(l=>e.has(l))&&(this.api=void 0,this.initApi()),e.has("api")&&this.api&&this.initSearchData(),["uiLocale","contentLocale","metadataFilters","displayedFilters"].some(l=>e.has(l))&&this.updateFacets(),["query","uiLocale","contentLocale","metadataFilters","displayedFilters","api"].some(l=>e.has(l))&&this.suggestManager.update(),["query","uiLocale","contentLocale","metadataFilters"].some(l=>e.has(l))&&this.dispatchStateChangeEvent()}dispatchStateChangeEvent(){this.stateChangeEventDebouncer.run(()=>this.dispatchEvent(new Id(this.request)))}updateFacets(){this.api&&(this.facetsRequest.length>0?(this.facetsLoaded=!1,this.updateFacetsDebouncer.run(async()=>{await this.retrieveFacetsFromSearch(),this.facetsLoaded=!0,this.facetsInitialized=!0},this.facetsInitialized?500:10)):this.facets=[])}contentAvailableCallback(e){var r,o,n;if(super.contentAvailableCallback(e),e.has("displayFacets")&&this.displayFacets&&((r=this.floatingContainer)===null||r===void 0||r.focus()),this.scrollToFacet!=null&&this.facetsLoaded){(o=this.scrollingFiltersContainer)===null||o===void 0||o.scrollIndexIntoView(this.facets.findIndex(s=>s.key===this.scrollToFacet));let a=(n=this.shadowRoot)===null||n===void 0?void 0:n.querySelector(`ft-accordion-item[data-facet-key="${this.scrollToFacet}"]`);a&&(a.active=!0),this.scrollToFacet=void 0}}initApi(){this.api==null&&(this.api=window.fluidtopics?new window.fluidtopics.FluidTopicsApi(this.baseUrl,this.apiIntegrationIdentifier,!0):void 0,setTimeout(()=>this.initApi(),10))}async retrieveFacetsFromSearch(){var e;let r=new Map;await((e=this.api)===null||e===void 0?void 0:e.search({...this.request,query:""}).then(o=>o.facets.forEach(n=>{this.knownFacetLabels.set(n.key,n.label),r.set(n.key,n)})).catch(Y5)),this.facets=[];for(let o of this.facetsRequest)r.has(o.id)?this.facets.push(r.get(o.id)):this.knownFacetLabels.has(o.id)&&this.facets.push({key:o.id,label:this.knownFacetLabels.get(o.id),rootNodes:[],multiSelectionable:!0,hierarchical:!1})}onFloatingContainerKeyUp(e){var r;e.key==="Escape"&&(this.displayFacets=!1,(r=this.filtersOpener)===null||r===void 0||r.focus())}setQuery(e){this.input&&(this.input.value=e),this.query=e}onLaunchSearch(){if(this.query){let e=this.recentSearches.filter(r=>r.toLowerCase()!==this.query.toLowerCase()).filter((r,o)=>o<20);this.recentSearches=[this.query,...e],this.saveRecentSearches()}this.mobileMenuOpen=!1,this.displayFacets=!1,this.focus()}get recentSearchesStorageKey(){return this.baseUrl+":ft:recent-search-queries"}initRecentSearches(){var e;this.recentSearches=JSON.parse((e=window.localStorage.getItem(this.recentSearchesStorageKey))!==null&&e!==void 0?e:"[]")}saveRecentSearches(){let e=JSON.stringify(this.recentSearches);window.localStorage.setItem(this.recentSearchesStorageKey,e),window.dispatchEvent(new StorageEvent("storage",{key:this.recentSearchesStorageKey,newValue:e,storageArea:window.localStorage,url:window.location.href}))}async connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.closeSuggestListbox),document.addEventListener("focusin",this.closeFloatingContainer),document.addEventListener("click",this.closeFloatingContainer),this.focusOnDisplay&&!an&&this.focusInput(),W.addEventListener("authentication-change",this.initSearchData),this.initSearchData()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this.closeSuggestListbox),document.removeEventListener("focusin",this.closeFloatingContainer),document.removeEventListener("click",this.closeFloatingContainer),W.removeEventListener("authentication-change",this.initSearchData)}updateSize(e){this.sizeCategory=e.detail.category}setFilter(e,r){let o=this.metadataFilters.filter(n=>!n.valueFilter||n.key!==e);this.facets.forEach(n=>{n.key===e&&xt(n.rootNodes,a=>a.childNodes).forEach(a=>a.selected=r.includes(a.value))}),r.length&&o.push({key:e,valueFilter:{negative:!1,values:r}}),this.metadataFilters=o,this.scrollToFacet=e}setFiltersFromPreset(e){e!=null&&(e.contentLocale!=null&&(this.contentLocale=e.contentLocale),this.metadataFilters=e.metadataFilters)}clearFilters(){this.facets.forEach(r=>xt(r.rootNodes,o=>o.childNodes).forEach(o=>o.selected=!1)),this.metadataFilters=[];let e=this.facets[0];this.scrollToFacet=e?.key}querySelector(e){return this.shadowRoot.querySelector(e)}querySelectorAll(e){return this.shadowRoot.querySelectorAll(e)}renderDesktopFloatingMenu(){return this.forceMenuOpen?z:S`
5028
+ `:z}async firstUpdated(e){super.firstUpdated(e),this.initApi(),window.addEventListener("storage",r=>{r.key===this.recentSearchesStorageKey&&this.initRecentSearches()})}update(e){var r,o,n,a,s;if(e.has("labels")&&(this.labelResolver=new Fr(th,this.labels)),e.has("sizeCategory")&&(this.mobileMenuOpen=!1,this.displayFacets=this.displayFacets&&!this.isMobile()),super.update(e),(e.has("availableContentLocales")||e.has("contentLocale"))&&this.availableContentLocales.length>0){let l=d=>this.availableContentLocales.some(f=>f.lang==d);l(this.contentLocale)||(this.contentLocale=e.has("contentLocale")&&l(e.get("contentLocale"))?e.get("contentLocale"):(r=this.availableContentLocales[0])===null||r===void 0?void 0:r.lang)}if(e.has("baseUrl")&&this.baseUrl&&(this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.replace(/\/$/,"")),this.initRecentSearches()),e.has("presets")&&((o=this.presets)!==null&&o!==void 0?o:[]).forEach(l=>l.metadataFilters.forEach(d=>{d.valueFilter&&(d.valueFilter.values=d.valueFilter.values.map(f=>Wa(f)))})),e.has("presets")||e.has("selectedPreset")){let l=((n=this.presets)!==null&&n!==void 0?n:[]).find(d=>d.name===this.selectedPreset);l&&!this.compareRequests(this.request,l)&&this.setFiltersFromPreset(l)}e.has("contentLocale")&&this.contentLocale!=null&&(this.knownFacetLabels=new Map),["contentLocale","metadataFilters"].some(l=>e.has(l))&&(this.selectedPreset=(s=((a=this.presets)!==null&&a!==void 0?a:[]).find(l=>this.compareRequests(l,this.request)))===null||s===void 0?void 0:s.name),["baseUrl","apiIntegrationIdentifier"].some(l=>e.has(l))&&(this.api=void 0,this.initApi()),e.has("api")&&this.api&&this.initSearchData(),["uiLocale","contentLocale","metadataFilters","displayedFilters"].some(l=>e.has(l))&&this.updateFacets(),["query","uiLocale","contentLocale","metadataFilters","displayedFilters","api"].some(l=>e.has(l))&&this.suggestManager.update(),["query","uiLocale","contentLocale","metadataFilters"].some(l=>e.has(l))&&this.dispatchStateChangeEvent()}dispatchStateChangeEvent(){this.stateChangeEventDebouncer.run(()=>this.dispatchEvent(new Id(this.request)))}updateFacets(){this.facetsRequest.length>0?(this.facetsLoaded=!1,this.updateFacetsDebouncer.run(async()=>{await this.retrieveFacetsFromSearch(),this.facetsLoaded=!0,this.facetsInitialized=!0},this.facetsInitialized?500:10)):(this.facets=[],this.facetsLoaded=!0,this.facetsInitialized=!0)}contentAvailableCallback(e){var r,o,n;if(super.contentAvailableCallback(e),e.has("displayFacets")&&this.displayFacets&&((r=this.floatingContainer)===null||r===void 0||r.focus()),this.scrollToFacet!=null&&this.facetsLoaded){(o=this.scrollingFiltersContainer)===null||o===void 0||o.scrollIndexIntoView(this.facets.findIndex(s=>s.key===this.scrollToFacet));let a=(n=this.shadowRoot)===null||n===void 0?void 0:n.querySelector(`ft-accordion-item[data-facet-key="${this.scrollToFacet}"]`);a&&(a.active=!0),this.scrollToFacet=void 0}}initApi(){this.api==null&&(this.api=window.fluidtopics?new window.fluidtopics.FluidTopicsApi(this.baseUrl,this.apiIntegrationIdentifier,!0):void 0,setTimeout(()=>this.initApi(),10))}async retrieveFacetsFromSearch(){var e;if(this.facetsRequest.length==0){this.facets=[];return}let r=new Map;await((e=this.api)===null||e===void 0?void 0:e.search({...this.request,query:""}).then(o=>o.facets.forEach(n=>{this.knownFacetLabels.set(n.key,n.label),r.set(n.key,n)})).catch(Y5)),this.facets=[];for(let o of this.facetsRequest)r.has(o.id)?this.facets.push(r.get(o.id)):this.knownFacetLabels.has(o.id)&&this.facets.push({key:o.id,label:this.knownFacetLabels.get(o.id),rootNodes:[],multiSelectionable:!0,hierarchical:!1})}onFloatingContainerKeyUp(e){var r;e.key==="Escape"&&(this.displayFacets=!1,(r=this.filtersOpener)===null||r===void 0||r.focus())}setQuery(e){this.input&&(this.input.value=e),this.query=e}onLaunchSearch(){if(this.query){let e=this.recentSearches.filter(r=>r.toLowerCase()!==this.query.toLowerCase()).filter((r,o)=>o<20);this.recentSearches=[this.query,...e],this.saveRecentSearches()}this.mobileMenuOpen=!1,this.displayFacets=!1,this.focus()}get recentSearchesStorageKey(){return this.baseUrl+":ft:recent-search-queries"}initRecentSearches(){var e;this.recentSearches=JSON.parse((e=window.localStorage.getItem(this.recentSearchesStorageKey))!==null&&e!==void 0?e:"[]")}saveRecentSearches(){let e=JSON.stringify(this.recentSearches);window.localStorage.setItem(this.recentSearchesStorageKey,e),window.dispatchEvent(new StorageEvent("storage",{key:this.recentSearchesStorageKey,newValue:e,storageArea:window.localStorage,url:window.location.href}))}async connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.closeSuggestListbox),document.addEventListener("focusin",this.closeFloatingContainer),document.addEventListener("click",this.closeFloatingContainer),this.focusOnDisplay&&!an&&this.focusInput(),W.addEventListener("authentication-change",this.initSearchData),this.initSearchData()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this.closeSuggestListbox),document.removeEventListener("focusin",this.closeFloatingContainer),document.removeEventListener("click",this.closeFloatingContainer),W.removeEventListener("authentication-change",this.initSearchData)}updateSize(e){this.sizeCategory=e.detail.category}setFilter(e,r){let o=this.metadataFilters.filter(n=>!n.valueFilter||n.key!==e);this.facets.forEach(n=>{n.key===e&&xt(n.rootNodes,a=>a.childNodes).forEach(a=>a.selected=r.includes(a.value))}),r.length&&o.push({key:e,valueFilter:{negative:!1,values:r}}),this.metadataFilters=o,this.scrollToFacet=e}setFiltersFromPreset(e){e!=null&&(e.contentLocale!=null&&(this.contentLocale=e.contentLocale),this.metadataFilters=e.metadataFilters)}clearFilters(){this.facets.forEach(r=>xt(r.rootNodes,o=>o.childNodes).forEach(o=>o.selected=!1)),this.metadataFilters=[];let e=this.facets[0];this.scrollToFacet=e?.key}querySelector(e){return this.shadowRoot.querySelector(e)}querySelectorAll(e){return this.shadowRoot.querySelectorAll(e)}renderDesktopFloatingMenu(){return this.forceMenuOpen?z:S`
5029
5029
  <div class="ft-search-bar--floating-panel"
5030
5030
  id="ft-search-bar-floating-panel"
5031
5031
  @keyup=${this.onFloatingContainerKeyUp}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-search-input",
3
- "version": "2.0.7",
3
+ "version": "2.0.8",
4
4
  "description": "Search bar input for integrated search component",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,18 +19,18 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-app-context": "2.0.7",
23
- "@fluid-topics/ft-button": "2.0.7",
24
- "@fluid-topics/ft-i18n": "2.0.7",
25
- "@fluid-topics/ft-icon": "2.0.7",
26
- "@fluid-topics/ft-ripple": "2.0.7",
27
- "@fluid-topics/ft-search-context": "2.0.7",
28
- "@fluid-topics/ft-typography": "2.0.7",
29
- "@fluid-topics/ft-wc-utils": "2.0.7",
22
+ "@fluid-topics/ft-app-context": "2.0.8",
23
+ "@fluid-topics/ft-button": "2.0.8",
24
+ "@fluid-topics/ft-i18n": "2.0.8",
25
+ "@fluid-topics/ft-icon": "2.0.8",
26
+ "@fluid-topics/ft-ripple": "2.0.8",
27
+ "@fluid-topics/ft-search-context": "2.0.8",
28
+ "@fluid-topics/ft-typography": "2.0.8",
29
+ "@fluid-topics/ft-wc-utils": "2.0.8",
30
30
  "lit": "3.1.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@fluid-topics/public-api": "1.0.116"
34
34
  },
35
- "gitHead": "8555f88ae4858c380daee8311a887142043c46a9"
35
+ "gitHead": "784751f48d2d71e0f4e87cbaa8ca3600c1ed5a9f"
36
36
  }