@fluid-topics/ft-reader-search-in-document 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.
@@ -4828,7 +4828,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
4828
4828
  </div>
4829
4829
  `}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)}};gs.styles=Ut.css`
4830
4830
 
4831
- `});var ye,ne,ys,Le,ae,a5,fp,KL,K,up=d(()=>{"use strict";ye=u(w()),ne=u(H()),ys=u(wo()),Le=u(C());Py();me();Ju();Z8();nt();sb();Kt();q1();Gb();mc();vf();gt();wc();Jb();kc();Tc();t5();i5();k1();ro();ae=function(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(n=(a<3?s(n):a>3?s(e,r,n):s(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n};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");a5={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"},fp=class extends CustomEvent{constructor(e){super("change",{detail:e})}},KL=()=>{},K=class extends Le.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 Le.ParametrizedLabelResolver(a5,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new Le.SearchPlaceConverter(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=Or.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 mo(this),this.selectedFacetsManager=new go(this),this.desktopSearchBarManager=new gs(this),this.mobileSearchBarManager=new ms(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new Le.Debouncer(10),this.updateLocalesDebouncer=new Le.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 Le.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===Or.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,Le.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 ye.html`
4831
+ `});var ye,ne,ys,Le,ae,a5,fp,KL,K,up=d(()=>{"use strict";ye=u(w()),ne=u(H()),ys=u(wo()),Le=u(C());Py();me();Ju();Z8();nt();sb();Kt();q1();Gb();mc();vf();gt();wc();Jb();kc();Tc();t5();i5();k1();ro();ae=function(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(n=(a<3?s(n):a>3?s(e,r,n):s(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n};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");a5={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"},fp=class extends CustomEvent{constructor(e){super("change",{detail:e})}},KL=()=>{},K=class extends Le.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 Le.ParametrizedLabelResolver(a5,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new Le.SearchPlaceConverter(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=Or.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 mo(this),this.selectedFacetsManager=new go(this),this.desktopSearchBarManager=new gs(this),this.mobileSearchBarManager=new ms(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new Le.Debouncer(10),this.updateLocalesDebouncer=new Le.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 Le.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===Or.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,Le.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 ye.html`
4832
4832
  <ft-size-watcher @change=${this.updateSize}></ft-size-watcher>
4833
4833
  <div class="sr-only" aria-live="polite" aria-atomic="true">
4834
4834
  ${this.renderLiveText()}
@@ -4968,7 +4968,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
4968
4968
  ></ft-filter>
4969
4969
  `})}
4970
4970
  </ft-snap-scroll>
4971
- `:ye.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,n,s;if(e.has("labels")&&(this.labelResolver=new Le.ParametrizedLabelResolver(a5,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=p=>this.availableContentLocales.some(h=>h.lang==p);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(p=>{p.valueFilter&&(p.valueFilter.values=p.valueFilter.values.map(h=>tc(h)))})),e.has("presets")||e.has("selectedPreset")){let l=((a=this.presets)!==null&&a!==void 0?a:[]).find(p=>p.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=((n=this.presets)!==null&&n!==void 0?n:[]).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 fp(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 n=(a=this.shadowRoot)===null||a===void 0?void 0:a.querySelector(`ft-accordion-item[data-facet-key="${this.scrollToFacet}"]`);n&&(n.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(KL)),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&&!Le.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,Le.flatDeep)(a.rootNodes,n=>n.childNodes).forEach(n=>n.selected=r.includes(n.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,Le.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?ye.nothing:ye.html`
4971
+ `:ye.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,n,s;if(e.has("labels")&&(this.labelResolver=new Le.ParametrizedLabelResolver(a5,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=p=>this.availableContentLocales.some(h=>h.lang==p);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(p=>{p.valueFilter&&(p.valueFilter.values=p.valueFilter.values.map(h=>tc(h)))})),e.has("presets")||e.has("selectedPreset")){let l=((a=this.presets)!==null&&a!==void 0?a:[]).find(p=>p.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=((n=this.presets)!==null&&n!==void 0?n:[]).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 fp(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 n=(a=this.shadowRoot)===null||a===void 0?void 0:a.querySelector(`ft-accordion-item[data-facet-key="${this.scrollToFacet}"]`);n&&(n.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(KL)),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&&!Le.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,Le.flatDeep)(a.rootNodes,n=>n.childNodes).forEach(n=>n.selected=r.includes(n.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,Le.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?ye.nothing:ye.html`
4972
4972
  <div class="ft-search-bar--floating-panel"
4973
4973
  id="ft-search-bar-floating-panel"
4974
4974
  @keyup=${this.onFloatingContainerKeyUp}
@@ -4908,7 +4908,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
4908
4908
  </div>
4909
4909
  `}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)}};Qa.styles=_`
4910
4910
 
4911
- `});var pe,e8,Y1,_L,ie,X1=u(()=>{"use strict";I();J();Sr();w();Ny();Ee();Jf();gb();ct();Ob();Ft();H1();Wb();jl();Ep();mt();Ql();Xb();Jl();ec();Qb();Jb();A1();Wr();pe=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");e8={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"},Y1=class extends CustomEvent{constructor(e){super("change",{detail:e})}},_L=()=>{},ie=class extends W{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 ko(e8,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new Fo(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=pr.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 eo(this),this.selectedFacetsManager=new to(this),this.desktopSearchBarManager=new Qa(this),this.mobileSearchBarManager=new Xa(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new ge(10),this.updateLocalesDebouncer=new ge(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 ge(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===pr.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 Ao(()=>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`
4911
+ `});var pe,e8,Y1,_L,ie,X1=u(()=>{"use strict";I();J();Sr();w();Ny();Ee();Jf();gb();ct();Ob();Ft();H1();Wb();jl();Ep();mt();Ql();Xb();Jl();ec();Qb();Jb();A1();Wr();pe=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");e8={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"},Y1=class extends CustomEvent{constructor(e){super("change",{detail:e})}},_L=()=>{},ie=class extends W{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 ko(e8,{}),this.displayedFilters=[],this.presets=[],this.priors=[],this.searchRequestSerializer=e=>new Fo(this.baseUrl).serialize(e),this.focusOnDisplay=!1,this.metadataFilters=[],this.sizeCategory=pr.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 eo(this),this.selectedFacetsManager=new to(this),this.desktopSearchBarManager=new Qa(this),this.mobileSearchBarManager=new Xa(this,this.selectedFacetsManager,this.suggestManager),this.stateChangeEventDebouncer=new ge(10),this.updateLocalesDebouncer=new ge(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 ge(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===pr.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 Ao(()=>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`
4912
4912
  <ft-size-watcher @change=${this.updateSize}></ft-size-watcher>
4913
4913
  <div class="sr-only" aria-live="polite" aria-atomic="true">
4914
4914
  ${this.renderLiveText()}
@@ -5048,7 +5048,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
5048
5048
  ></ft-filter>
5049
5049
  `})}
5050
5050
  </ft-snap-scroll>
5051
- `:$}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 ko(e8,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(p=>p.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(p=>Fl(p)))})),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 Y1(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(_L)),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&&!xa&&this.focusInput(),j.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),j.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&&Gt(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=>Gt(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?$:S`
5051
+ `:$}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 ko(e8,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(p=>p.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(p=>Fl(p)))})),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 Y1(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(_L)),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&&!xa&&this.focusInput(),j.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),j.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&&Gt(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=>Gt(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?$:S`
5052
5052
  <div class="ft-search-bar--floating-panel"
5053
5053
  id="ft-search-bar-floating-panel"
5054
5054
  @keyup=${this.onFloatingContainerKeyUp}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-reader-search-in-document",
3
- "version": "2.0.7",
3
+ "version": "2.0.8",
4
4
  "description": "A search component to retrieve occurrences in documents",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,20 +19,20 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-button": "2.0.7",
23
- "@fluid-topics/ft-card": "2.0.7",
24
- "@fluid-topics/ft-i18n": "2.0.7",
25
- "@fluid-topics/ft-search-context": "2.0.7",
26
- "@fluid-topics/ft-search-input": "2.0.7",
27
- "@fluid-topics/ft-search-load-more-button": "2.0.7",
28
- "@fluid-topics/ft-search-result-abstract": "2.0.7",
29
- "@fluid-topics/ft-search-result-title": "2.0.7",
30
- "@fluid-topics/ft-search-results": "2.0.7",
31
- "@fluid-topics/ft-search-results-number": "2.0.7",
32
- "@fluid-topics/ft-typography": "2.0.7",
33
- "@fluid-topics/ft-wc-utils": "2.0.7",
22
+ "@fluid-topics/ft-button": "2.0.8",
23
+ "@fluid-topics/ft-card": "2.0.8",
24
+ "@fluid-topics/ft-i18n": "2.0.8",
25
+ "@fluid-topics/ft-search-context": "2.0.8",
26
+ "@fluid-topics/ft-search-input": "2.0.8",
27
+ "@fluid-topics/ft-search-load-more-button": "2.0.8",
28
+ "@fluid-topics/ft-search-result-abstract": "2.0.8",
29
+ "@fluid-topics/ft-search-result-title": "2.0.8",
30
+ "@fluid-topics/ft-search-results": "2.0.8",
31
+ "@fluid-topics/ft-search-results-number": "2.0.8",
32
+ "@fluid-topics/ft-typography": "2.0.8",
33
+ "@fluid-topics/ft-wc-utils": "2.0.8",
34
34
  "@fluid-topics/public-api": "1.0.116",
35
35
  "lit": "3.1.0"
36
36
  },
37
- "gitHead": "8555f88ae4858c380daee8311a887142043c46a9"
37
+ "gitHead": "784751f48d2d71e0f4e87cbaa8ca3600c1ed5a9f"
38
38
  }