@fluid-topics/ft-search-breadcrumbs 2.1.19 → 2.1.21

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.
@@ -5,7 +5,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:o.extend("--ftds-con
5
5
  .highlight-html-match {
6
6
  background: ${mc};
7
7
  }
8
- `;function vi(t,e,r){var n,i;let a=t.getAttribute("data-highlight-html-query");if((a??"")!==(e??"")){let s=new Cp(t);if(s.unmark(),e&&e.trim()){let l={className:(n=r?.className)!==null&&n!==void 0?n:"highlight-html-match",acrossElements:!0};r?.attributes!=null&&(l.each=(p=>{for(let h in r.attributes)p.setAttribute(h,r.attributes[h])})),s.mark(e.replace(/"[^"]+"/g,""),{...l,separateWordSearch:!0}),((i=e.match(/"[^"]+"/g))!==null&&i!==void 0?i:[]).forEach(p=>s.mark(p.replace(/"/g,""),{...l,separateWordSearch:!1}))}}t.setAttribute("data-highlight-html-query",e??"")}var Ci={};z(Ci,{noTextInputDefaultClearButton:()=>Rp,noTextSelect:()=>Ei,safariEllipsisFix:()=>wp,wordWrap:()=>Ap});var Ei=_`
8
+ `;function vi(t,e,r){var n,i;let a=t.getAttribute("data-highlight-html-query");if((a??"")!==(e??"")){let s=new Cp(t);if(s.unmark(),e&&e.trim()){let l={className:(n=r?.className)!==null&&n!==void 0?n:"highlight-html-match",acrossElements:!0};r?.attributes!=null&&(l.each=p=>{for(let h in r.attributes)p.setAttribute(h,r.attributes[h])}),s.mark(e.replace(/"[^"]+"/g,""),{...l,separateWordSearch:!0}),((i=e.match(/"[^"]+"/g))!==null&&i!==void 0?i:[]).forEach(p=>s.mark(p.replace(/"/g,""),{...l,separateWordSearch:!1}))}}t.setAttribute("data-highlight-html-query",e??"")}var Ci={};z(Ci,{noTextInputDefaultClearButton:()=>Rp,noTextSelect:()=>Ei,safariEllipsisFix:()=>wp,wordWrap:()=>Ap});var Ei=_`
9
9
  .ft-no-text-select {
10
10
  -webkit-touch-callout: none;
11
11
  -webkit-user-select: none;
@@ -216,7 +216,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:o.extend("--ftds-con
216
216
  word-break: break-word;
217
217
  }
218
218
  `;var Pf="ft-app-info",Ft=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};Ft.eventName="authentication-change";var to=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};to.eventName="ui-locale-changed";var Nf={session:(t,e)=>{re(t.session,e.payload)||(t.session=e.payload,setTimeout(()=>k.dispatchEvent(new Ft(e.payload)),0))}},k=gt.get({name:Pf,reducers:Nf,initialState:{baseUrl:void 0,tenantId:void 0,apiIntegrationIdentifier:void 0,apiIntegrationAppVersion:void 0,uiLocale:document.documentElement.lang||"en-US",availableContentLocales:[],localesConfiguration:void 0,metadataConfiguration:void 0,privacyPolicyConfiguration:void 0,editorMode:!1,noCustom:!1,noCustomComponent:!1,session:void 0,openExternalDocumentInNewTab:!1,navigatorOnline:!0,forcedOffline:!1,authenticationRequired:!1}});var Wo=function(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},fE=X(Symbol("withDateFormat"),function(t){class e extends t{constructor(...n){super(n),this.useLongDateFormat=!1,this.useDateTimeFormat=!1,this.metadataDescriptors=[],this.uiLocale="en-US",this.addStore(k)}dateFormatOptionsChanged(n){return n.has("metadataDescriptors")||n.has("useLongDateFormat")||n.has("useDateTimeFormat")||n.has("uiLocale")}getDateFormatter(n){var i,a;return((a=(i=this.metadataDescriptors.find(l=>l.key===n))===null||i===void 0?void 0:i.date)!==null&&a!==void 0?a:!1)?l=>kt.format(l,this.uiLocale,this.useLongDateFormat,this.useDateTimeFormat):void 0}}return Wo([S({type:Boolean})],e.prototype,"useLongDateFormat",void 0),Wo([S({type:Boolean})],e.prototype,"useDateTimeFormat",void 0),Wo([or({store:k.name,selector:r=>{var n,i;return(i=(n=r.metadataConfiguration)===null||n===void 0?void 0:n.descriptors)!==null&&i!==void 0?i:[]}})],e.prototype,"metadataDescriptors",void 0),Wo([or({store:k.name})],e.prototype,"uiLocale",void 0),e});var Bt=class t{static get(e){let{baseUrl:r,apiIntegrationIdentifier:n}=k.getState(),i=e??n;if(r&&i&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(r,i,!0)}static await(e){return new Promise(r=>{let n=t.get(e);if(n)r(n);else{let i=k.subscribe(()=>{n=t.get(e),n&&(i(),r(n))})}})}};var Cr=class{constructor(e){this.overrideApi=e}get api(){var e;return(e=this.overrideApi)!==null&&e!==void 0?e:Bt.get()}get awaitApi(){return this.overrideApi?Promise.resolve(this.overrideApi):Bt.await()}};var he=class extends Cr{constructor(e=!0,r){var n;super(r),this.sortObjectFields=(a,s)=>typeof s!="object"||s==null||Array.isArray(s)?s:Object.fromEntries(Object.entries(s).sort(([l],[d])=>l.localeCompare(d)));let i=this.constructor;i.commonCache=(n=i.commonCache)!==null&&n!==void 0?n:new Ge,this.cache=e?i.commonCache:new Ge}clearCache(){this.cache.clearAll()}hash(e){return String(Array.from(JSON.stringify(e,this.sortObjectFields)).reduce((r,n)=>0|31*r+n.charCodeAt(0),0))}};var Go=class extends he{async listMySearches(){let{session:e}=k.getState();return Ji(e,Q.SAVED_SEARCH_USER)?this.cache.get("my-searches",async()=>(await this.awaitApi).listMySearches(e.profile.userId),300*1e3):[]}};var Vo=class extends he{async listMyBookmarks(){let e=k.getState().session;return e?.sessionAuthenticated?this.cache.get("my-bookmarks",async()=>(await this.awaitApi).listMyBookmarks(e.profile.userId),300*1e3):[]}};var jo=class extends he{constructor(){super(...arguments),this.CACHE_DURATION=180*1e3}async getUserAssetCount(e){if(this.isAuthenticated())return this.cache.get(`user-asset-count-${e}`,async()=>(await this.awaitApi).get(`/internal/api/webapp/user/assets/count/${e}`),this.CACHE_DURATION)}async getUserBookmarkCountByMap(e){if(this.isAuthenticated())return this.cache.get(`user-bookmark-count-by-map-${e}`,async()=>(await this.awaitApi).get(`/internal/api/webapp/user/assets/count/BOOKMARKS/${e}`),this.CACHE_DURATION)}isAuthenticated(){let e=k.getState().session;return!!e?.sessionAuthenticated}};var Ko=class extends he{constructor(){super(...arguments),this.CACHE_DURATION=180*1e3}async getUserAssetLabels(){return this.isAuthenticated()?this.cache.get("user-asset-labels",async()=>(await this.awaitApi).get("/internal/api/webapp/user/assets/labels"),this.CACHE_DURATION):[]}isAuthenticated(){let e=k.getState().session;return!!e?.sessionAuthenticated}};var kf="ft-user-assets",Df={setAssetCount:(t,e)=>{let{userAssetType:r,count:n}=e.payload.assetCount;t.assetCounts.allAsset[r]=n},clearAssetCount:t=>{Object.values(Te).forEach(e=>{t.assetCounts.allAsset[e]=void 0})},setBookmarkCountByMap:(t,e)=>{let r=e.payload.mapId;t.assetCounts.bookmarkByMap[r]=e.payload.count},clearBookmarkCountByMap:t=>{t.assetCounts.bookmarkByMap={}},addAsset:(t,e)=>{let{assetType:r,mapId:n,asset:i}=e.payload;Ea(t,r,[...Sa(t,r),i]),rd(t,r,1,n),od(t,i)},editAsset:(t,e)=>{let{assetType:r,asset:n}=e.payload;Ea(t,r,Sa(t,r).map(i=>i.id===n.id?n:i)),od(t,n)},removeAsset:(t,e)=>{let{assetType:r,mapId:n,assetId:i}=e.payload;Ea(t,r,Sa(t,r).filter(a=>a.id!==i)),rd(t,r,-1,n)}},nd={[Te.SEARCHES]:"savedSearches",[Te.BOOKMARKS]:"bookmarks",[Te.BOOKS]:void 0,[Te.COLLECTIONS]:void 0},Sa=(t,e)=>{var r;let n=nd[e];return n?(r=t[n])!==null&&r!==void 0?r:[]:[]},Ea=(t,e,r)=>{let n=nd[e];n&&(t[n]=r)},rd=(t,e,r,n)=>{let i=t.assetCounts.allAsset[e];if(i!==void 0&&(t.assetCounts.allAsset[e]=Math.max(0,i+r),e===Te.BOOKMARKS&&n)){let a=t.assetCounts.bookmarkByMap[n];t.assetCounts.bookmarkByMap[n]=Math.max(0,a+r)}},od=(t,e)=>{let r=t.assetLabels.map(i=>i.title),n=e.labels.filter(i=>!r.includes(i)).map(i=>({title:i}));t.assetLabels.push(...n)},pe=gt.get({name:kf,reducers:Df,initialState:{savedSearches:void 0,bookmarks:void 0,assetCounts:{allAsset:Object.fromEntries(Object.values(Te).map(t=>[t,void 0])),bookmarkByMap:{}},assetLabels:[]}}),Ca=class{constructor(e=new jo,r=new Ko){this.assetCountsService=e,this.assetLabelsService=r,this.currentSession=k.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new Vo,this.savedSearchesService=new Go,k.subscribe(()=>this.reloadWhenUserSessionChanges())}reloadWhenUserSessionChanges(){var e;let{session:r}=k.getState();re((e=this.currentSession)===null||e===void 0?void 0:e.profile,r?.profile)||(this.currentSession=r,this.clearMySearches(),this.reloadBookmarks(),this.clearUserAssetCounts(),this.reloadAssetLabels())}clearUserAssetCounts(){this.assetCountsService.clearCache(),pe.actions.clearAssetCount(),pe.actions.clearBookmarkCountByMap()}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){this.savedSearchesService.clearCache(),pe.actions.savedSearches(void 0)}clearMyBookmarks(){this.bookmarksService.clearCache(),pe.actions.bookmarks(void 0)}async reloadMySearches(){this.savedSearchesService.clearCache();let e=await this.savedSearchesService.listMySearches();pe.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async reloadAssetLabels(){this.assetLabelsService.clearCache();let e=await this.assetLabelsService.getUserAssetLabels();pe.actions.assetLabels(e)}async loadAssetCount(e){let r=await this.assetCountsService.getUserAssetCount(e);r&&pe.getState().assetCounts.allAsset[e]!==r.count&&pe.actions.setAssetCount({assetCount:r})}async loadBookmarkByMapId(e){let r=await this.assetCountsService.getUserBookmarkCountByMap(e);r&&pe.getState().assetCounts.bookmarkByMap[e]!==r.count&&pe.actions.setBookmarkCountByMap({count:r.count,mapId:e})}async reloadAssetCount(e){this.assetCountsService.clearCache();let r=Object.keys(pe.getState().assetCounts.bookmarkByMap).length!==0;e===Te.BOOKMARKS&&r&&pe.actions.clearBookmarkCountByMap(),pe.getState().assetCounts.allAsset[e]!==void 0&&await this.loadAssetCount(e)}async registerBookmarkComponent(){this.bookmarksAreUsed=!0,await this.updateBookmarksIfUsed()}async updateBookmarksIfUsed(){var e;if(this.bookmarksAreUsed){let r=!((e=this.currentSession)===null||e===void 0)&&e.sessionAuthenticated?await this.bookmarksService.listMyBookmarks():void 0;pe.actions.bookmarks(r)}}},Mf=new Ca;window.FluidTopicsUserAssetsActions==null&&(window.FluidTopicsUserAssetsActions=Mf);var Oa=class{addCommand(e,r=!1){k.commands.add(e,r)}consumeCommand(e){return k.commands.consume(e)}};window.FluidTopicsAppInfoStoreService=new Oa;var id,Or=class extends CustomEvent{constructor(e){super("ft-i18n-context-loaded",{detail:e})}},Uf=Symbol("clearAfterUnitTest"),qo=class extends Oo(he){constructor(e){super(),this.messageContextProvider=e,this.defaultMessages={},this.listeners={},this.currentUiLocale="",this[id]=()=>{this.defaultMessages={},this.cache=new Ge,this.listeners={}},this.currentUiLocale=k.getState().uiLocale,k.subscribe(()=>this.clearWhenUiLocaleChanges())}clearWhenUiLocaleChanges(){let{uiLocale:e}=k.getState();this.currentUiLocale!==e&&(this.currentUiLocale=e,this.cache.clearAll(),this.notifyAll())}addContext(e){let r=e.name.toLowerCase();this.cache.setFinal(r,e),this.notify(r)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(e,r){var n;if(e=e.toLowerCase(),r&&Object.keys(r).length>0){let i={...(n=this.defaultMessages[e])!==null&&n!==void 0?n:{},...r};re(this.defaultMessages[e],i)||(this.defaultMessages[e]=i,await this.notify(e))}return this.fetchContext(e)}resolveContext(e){var r,n;return this.fetchContext(e),(n=(r=this.cache.getNow(e))===null||r===void 0?void 0:r.messages)!==null&&n!==void 0?n:{}}resolveRawMessage(e,r){let n=e.toLowerCase();return this.resolveContext(n)[r]}resolveMessage(e,r,...n){var i;let a=e.toLowerCase(),s=this.resolveContext(a);return new qr((i=this.defaultMessages[a])!==null&&i!==void 0?i:{},s).resolve(r,...n)}async fetchContext(e){let r=!this.cache.has(e),n;try{n=await this.cache.get(e,()=>this.messageContextProvider(this.currentUiLocale,e)),r&&await this.notify(e)}catch(i){!(i instanceof st)&&r&&console.error(i)}return n}subscribe(e,r){var n;return e=e.toLowerCase(),this.listeners[e]=(n=this.listeners[e])!==null&&n!==void 0?n:new Set,this.listeners[e].add(r),()=>{var i;return(i=this.listeners[e])===null||i===void 0?void 0:i.delete(r)}}async notifyAll(){let e=Object.keys(this.listeners);document.body.dispatchEvent(new Or({loadedContexts:e})),this.dispatchEvent(new Or({loadedContexts:e})),await Promise.all(e.map(r=>this.notify(r,!1)))}async notify(e,r=!0){r&&(document.body.dispatchEvent(new Or({loadedContexts:[e]})),this.dispatchEvent(new Or({loadedContexts:[e]}))),this.listeners[e]!=null&&await Promise.all([...this.listeners[e].values()].map(n=>Co(0).then(()=>n()).catch(()=>null)))}};id=Uf;window.FluidTopicsI18nService==null&&(window.FluidTopicsI18nService=new class extends qo{constructor(){super(async(t,e)=>(await this.awaitApi).getFluidTopicsMessageContext(t,e))}});window.FluidTopicsCustomI18nService==null&&(window.FluidTopicsCustomI18nService=new class extends qo{constructor(){super(async(t,e)=>(await this.awaitApi).getCustomMessageContext(t,e))}});var ro=window.FluidTopicsI18nService,Aa=window.FluidTopicsCustomI18nService;var wa=class{highlightHtml(e,r,n){vi(e,r,n)}};window.FluidTopicsHighlightHtmlService=new wa;var Ra=class{isDate(e){var r,n,i,a;return(a=(i=((n=(r=k.getState().metadataConfiguration)===null||r===void 0?void 0:r.descriptors)!==null&&n!==void 0?n:[]).find(l=>l.key===e))===null||i===void 0?void 0:i.date)!==null&&a!==void 0?a:!1}format(e,r){var n,i,a,s;if(e==null)return"";try{return kt.format(e,(n=r?.locale)!==null&&n!==void 0?n:k.getState().uiLocale,(i=r?.longFormat)!==null&&i!==void 0?i:!1,(a=r?.withTime)!==null&&a!==void 0?a:!1,(s=r?.onlyTime)!==null&&s!==void 0?s:!1)}catch(l){throw console.error(`Date ${JSON.stringify(e)} is not valid`,l),l}}};window.FluidTopicsDateService=new Ra;var oo=class{static get(e,r){var n,i,a,s;let l=k.getState(),{lang:d,region:p}=(a=(i=(n=l.localesConfiguration)===null||n===void 0?void 0:n.defaultLocales)===null||i===void 0?void 0:i.defaultContentLocale)!==null&&a!==void 0?a:{lang:"en",region:"US"};return new pr(l.baseUrl,e??20,(s=l.localesConfiguration)===null||s===void 0?void 0:s.allLanguagesAllowed,r??`${d}-${p}`)}};var Ta=class{urlToSearchRequest(e){return oo.get().parse(e)}searchRequestToUrl(e){return oo.get().serialize(e)}};window.FluidTopicsUrlService=new Ta;var $t=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:{currentItem:e}})}};$t.eventName="change";var La=class{itemName(e){return`fluid-topics-history-item-${e}`}get(e){let r=sessionStorage.getItem(this.itemName(e));return r?JSON.parse(r):void 0}set(e,r){sessionStorage.setItem(this.itemName(e),JSON.stringify(r))}},ad=new La;var Zo=class t extends Qe{static build(){return new t(window.history,ad,()=>window.location,!1)}constructor(e,r,n,i){var a,s;super(),this.history=e,this.historyStorage=r,this.windowLocation=n,this.states=[],this.realPushState=e.pushState,this.realReplaceState=e.replaceState,this.initialIndex=(s=(a=e.state)===null||a===void 0?void 0:a.index)!==null&&s!==void 0?s:e.length-1,this.currentIndex=this.initialIndex,this.setCurrentState(this.buildCurrentState()),this.installProxies(),this.initEventListeners(),this.initData(i)}setCurrentState(e,r=!1){let n=r&&this.currentIndex===e.index-1;this.currentState={...this.buildCurrentState(),...e},this.currentIndex=this.currentState.index,this.states[this.currentIndex]=this.currentState,n&&(this.states=this.states.slice(0,this.currentIndex+1)),this.historyStorage.set(this.currentIndex,this.currentState),re(this.currentState,this.history.state)||this.realReplaceState.apply(this.history,[this.currentState,this.currentState.title,window.location.href]),setTimeout(()=>this.dispatchEvent(new $t(this.currentItem())),0)}installProxies(){let e=r=>(n,i,[a,s,l])=>{let d=r(),p={...d===this.currentIndex?this.currentState:void 0,...a,index:d,href:typeof l=="string"?l:(l??this.windowLocation()).href};n.apply(i,[p,s,l]),this.setCurrentState(p,!0)};this.history.pushState=new Proxy(this.history.pushState,{apply:e(()=>this.currentIndex+1)}),this.history.replaceState=new Proxy(this.history.replaceState,{apply:e(()=>this.currentIndex)})}initEventListeners(){window.addEventListener("popstate",e=>this.setCurrentState(e.state)),document.querySelector("title")==null&&document.head.append(document.createElement("title")),new MutationObserver(()=>this.updateCurrentState({title:document.title})).observe(document.querySelector("title"),{subtree:!0,characterData:!0,childList:!0})}initData(e){for(let r=this.history.length-1;r>=0;r--)e?this.states[r]=this.historyStorage.get(r):setTimeout(()=>this.states[r]=this.historyStorage.get(r),this.history.length-r)}updateCurrentState(e){var r;let n={...this.buildCurrentState(),...e,index:this.currentIndex,title:(r=e?.title)!==null&&r!==void 0?r:this.currentState.title};this.setCurrentState(n)}addHistoryChangeListener(e){this.addEventListener($t.eventName,e)}removeHistoryChangeListener(e){this.removeEventListener($t.eventName,e)}currentItem(){return we(this.currentState)}back(){let e=this.previousDifferentMajorPosition();e>=0?this.history.go(e-this.currentIndex):this.currentIndex!==this.initialIndex?this.history.go(this.initialIndex-this.currentIndex):this.history.back()}backwardItem(){return we(this.states[this.previousDifferentMajorPosition()])}backwardItemMatching(e){let r=this.states.filter(n=>!!n).filter(n=>n.index<this.currentIndex).reverse();return we(r.find(n=>e(n)))}previousDifferentMajorPosition(){let e=this.currentIndex>0?this.currentIndex-1:0;for(;e>0&&!this.isDifferentMajorState(e);)e--;return e}forward(){let e=this.nextMajorPosition();e&&e<this.states.length?this.history.go(e-this.currentIndex):this.history.forward()}forwardItem(){let e=this.nextMajorPosition();if(e)return we(this.states[e])}nextMajorPosition(){let e=this.currentIndex;if(!(e>=this.states.length)){do e++;while(e<this.states.length&&!this.isDifferentMajorState(e));return this.getHigherPositionInTheSameState(e)}}getHigherPositionInTheSameState(e){var r;let n=(r=this.states[e])===null||r===void 0?void 0:r.majorStateId;if(!n)return e;let i=e,a=e+1;for(;this.states.length>a&&!this.isDifferentMajorState(a,n);)this.hasState(a)&&(i=a),a++;return i}buildCurrentState(){var e,r;return{...this.history.state,index:this.currentIndex,href:this.windowLocation().href,title:(r=(e=this.history.state)===null||e===void 0?void 0:e.title)!==null&&r!==void 0?r:document.title}}hasState(e){return this.states[e]!=null}isDifferentMajorState(e,r){var n;if(!this.hasState(e))return!1;let i=r??this.currentState.majorStateId,a=(n=this.states[e])===null||n===void 0?void 0:n.majorStateId;return a==null||a!=i}};window.FluidTopicsInternalHistoryService==null&&(window.FluidTopicsInternalHistoryService=Zo.build(),window.FluidTopicsHistoryService={currentItem:()=>window.FluidTopicsInternalHistoryService.currentItem(),back:()=>window.FluidTopicsInternalHistoryService.back(),forward:()=>window.FluidTopicsInternalHistoryService.forward(),backwardItem:()=>window.FluidTopicsInternalHistoryService.backwardItem(),forwardItem:()=>window.FluidTopicsInternalHistoryService.forwardItem(),backwardItemMatching:t=>window.FluidTopicsInternalHistoryService.backwardItemMatching(t),addHistoryChangeListener:t=>window.FluidTopicsInternalHistoryService.addHistoryChangeListener(t),removeHistoryChangeListener:t=>window.FluidTopicsInternalHistoryService.removeHistoryChangeListener(t)});var sd=_`
219
- `;function cd(t,e){let{authenticationRequired:r,session:n}=k.getState();return r&&!n?.sessionAuthenticated?Promise.resolve(e):t()}var Yo=class extends Cr{async updateUiLocale(e){return(await this.awaitApi).updateUiLocale(e)}};var _a=class t extends dr{static build(e){return new t(k,e)}constructor(e,r){super(),this.store=e,this.cache=new Ge,this.withManualResources=!0,this.userLocaleService=new Yo,this.cleanSessionDebouncer=new ue,this.reloadDebouncer=new ue(500),this.apiProvider=r??(()=>Bt.get())}setWithManualResources(e){this.withManualResources=e,this.updateIfNeeded()}async initService(){this.store.addEventListener(Ft.eventName,this.reloadConfiguration)}async updateIfNeeded(){this.apiProvider()&&(this.withManualResources||(this.store.getState().session==null&&this.updateSession(),this.store.getState().metadataConfiguration==null&&this.updateMetadataConfiguration()),this.store.getState().localesConfiguration==null&&this.updateLocalesConfiguration(),(this.store.getState().availableContentLocales==null||this.store.getState().availableContentLocales.length==0)&&this.updateAvailableContentLocales())}async updateSession(){let e=await this.cache.get("session",async()=>{let r=await this.apiProvider().getCurrentSession();return r.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run(()=>{this.cache.clear("session"),this.setSession(void 0)},r.idleTimeoutInMillis),r});this.setSession(e)}async updateMetadataConfiguration(){this.setMetadataConfiguration(await this.cache.get("metadataConfiguration",()=>this.apiProvider().getMetadataConfiguration()))}async updateLocalesConfiguration(){this.setLocalesConfiguration(await this.cache.get("localesConfiguration",()=>this.apiProvider().getLocalesConfiguration()))}async updateAvailableContentLocales(){var e;let r=await this.cache.get("availableContentLocales",()=>cd(()=>this.apiProvider().getAvailableSearchLocales(),{contentLocales:[]}));this.setAvailableContentLocales((e=r.contentLocales)!==null&&e!==void 0?e:[])}reloadConfiguration(){var e;(e=this.cache)===null||e===void 0||e.clear("availableContentLocales"),typeof this.updateAvailableContentLocales=="function"&&this.updateAvailableContentLocales()}setBaseUrl(e){this.store.actions.baseUrl(e),window.fluidTopicsBaseUrl=e}setTenantId(e){this.store.actions.tenantId(e)}setApiIntegrationIdentifier(e){this.store.actions.apiIntegrationIdentifier(e)}setApiIntegrationAppVersion(e){this.store.actions.apiIntegrationAppVersion(e)}setUiLocale(e){this.store.actions.uiLocale(e)}setLocalesConfiguration(e){this.store.actions.localesConfiguration(e),setTimeout(()=>this.updateIfNeeded())}setAvailableContentLocales(e){this.store.actions.availableContentLocales(e),setTimeout(()=>this.updateIfNeeded())}stopReloadDebouncer(){this.reloadDebouncer.cancel()}requestUiLocaleUpdate(e){this.userLocaleService.updateUiLocale({uiLocale:e}).then(r=>{r.uiLocaleChanged&&(this.reloadDebouncer.run(()=>window.location.reload()),this.store.dispatchEvent(new to(r)))}).catch(()=>{})}setMetadataConfiguration(e){this.store.actions.metadataConfiguration(e),setTimeout(()=>this.updateIfNeeded())}setNoCustom(e){this.store.actions.noCustom(e)}setEditorMode(e){this.store.actions.editorMode(e)}setNoCustomComponent(e){this.store.actions.noCustomComponent(e)}setSession(e){this.store.actions.session(e),setTimeout(()=>this.updateIfNeeded())}setOpenExternalDocumentInNewTab(e){this.store.actions.openExternalDocumentInNewTab(e)}setNavigatorOnline(e){this.store.actions.navigatorOnline(e)}setForcedOffline(e){this.store.actions.forcedOffline(e)}setAuthenticationRequired(e){this.store.actions.authenticationRequired(e)}},Ia=_a.build();var Ht=class extends Event{constructor(e,r,n,i){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=r,this.callback=n,this.subscribe=i??!1}};var no=class{constructor(){this.pendingContextRequests=new Map,this.onContextProvider=e=>{let r=this.pendingContextRequests.get(e.context);if(r===void 0)return;this.pendingContextRequests.delete(e.context);let{requests:n}=r;for(let{elementRef:i,callbackRef:a}of n){let s=i.deref(),l=a.deref();s===void 0||l===void 0||s.dispatchEvent(new Ht(e.context,s,l,!0))}},this.onContextRequest=e=>{if(e.subscribe!==!0)return;let r=e.contextTarget??e.composedPath()[0],n=e.callback,i=this.pendingContextRequests.get(e.context);i===void 0&&this.pendingContextRequests.set(e.context,i={callbacks:new WeakMap,requests:[]});let a=i.callbacks.get(r);a===void 0&&i.callbacks.set(r,a=new WeakSet),a.has(n)||(a.add(n),i.requests.push({elementRef:new WeakRef(r),callbackRef:new WeakRef(n)}))}}attach(e){e.addEventListener("context-request",this.onContextRequest),e.addEventListener("context-provider",this.onContextProvider)}detach(e){e.removeEventListener("context-request",this.onContextRequest),e.removeEventListener("context-provider",this.onContextProvider)}};var ne=function(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},Y=class extends tt{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.apiIntegrationAppVersion="ft-integration-app-version",this.uiLocale="en-US",this.editorMode=!1,this.noCustom=!1,this.openExternalDocumentInNewTab=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.navigatorOnline=!1,this.forcedOffline=!1,this.authenticationRequired=!1,this.messageContexts=[],this.stateManager=Ia,this.contextRoot=new no}render(){return P`
219
+ `;function cd(t,e){let{authenticationRequired:r,session:n}=k.getState();return r&&!n?.sessionAuthenticated?Promise.resolve(e):t()}var Yo=class extends Cr{async updateUiLocale(e){return(await this.awaitApi).updateUiLocale(e)}};var _a=class t extends dr{static build(e){return new t(k,e)}constructor(e,r){super(),this.store=e,this.cache=new Ge,this.withManualResources=!0,this.userLocaleService=new Yo,this.cleanSessionDebouncer=new ue,this.reloadDebouncer=new ue(500),this.apiProvider=r??(()=>Bt.get())}setWithManualResources(e){this.withManualResources=e,this.updateIfNeeded()}async initService(){this.store.addEventListener(Ft.eventName,this.reloadConfiguration)}async updateIfNeeded(){this.apiProvider()&&(this.withManualResources||(this.store.getState().session==null&&this.updateSession(),this.store.getState().metadataConfiguration==null&&this.updateMetadataConfiguration()),this.store.getState().localesConfiguration==null&&this.updateLocalesConfiguration(),(this.store.getState().availableContentLocales==null||this.store.getState().availableContentLocales.length==0)&&this.updateAvailableContentLocales())}async updateSession(){let e=await this.cache.get("session",async()=>{let r=await this.apiProvider().getCurrentSession();return r.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run(()=>{this.cache.clear("session"),this.setSession(void 0)},r.idleTimeoutInMillis),r});this.setSession(e)}async updateMetadataConfiguration(){this.setMetadataConfiguration(await this.cache.get("metadataConfiguration",()=>this.apiProvider().getMetadataConfiguration()))}async updateLocalesConfiguration(){this.setLocalesConfiguration(await this.cache.get("localesConfiguration",()=>this.apiProvider().getLocalesConfiguration()))}async updateAvailableContentLocales(){var e;let r=await this.cache.get("availableContentLocales",()=>cd(()=>this.apiProvider().getAvailableSearchLocales(),{contentLocales:[]}));this.setAvailableContentLocales((e=r.contentLocales)!==null&&e!==void 0?e:[])}reloadConfiguration(){var e;(e=this.cache)===null||e===void 0||e.clear("availableContentLocales"),typeof this.updateAvailableContentLocales=="function"&&this.updateAvailableContentLocales()}setBaseUrl(e){this.store.actions.baseUrl(e),window.fluidTopicsBaseUrl=e}setTenantId(e){this.store.actions.tenantId(e)}setApiIntegrationIdentifier(e){this.store.actions.apiIntegrationIdentifier(e)}setApiIntegrationAppVersion(e){this.store.actions.apiIntegrationAppVersion(e)}setUiLocale(e){this.store.actions.uiLocale(e)}setLocalesConfiguration(e){this.store.actions.localesConfiguration(e),setTimeout(()=>this.updateIfNeeded())}setAvailableContentLocales(e){this.store.actions.availableContentLocales(e),setTimeout(()=>this.updateIfNeeded())}stopReloadDebouncer(){this.reloadDebouncer.cancel()}requestUiLocaleUpdate(e,r){this.userLocaleService.updateUiLocale({uiLocale:e,contentLocale:r}).then(n=>{n.uiLocaleChanged&&(this.reloadDebouncer.run(()=>window.location.reload()),this.store.dispatchEvent(new to(n)))}).catch(()=>{})}setMetadataConfiguration(e){this.store.actions.metadataConfiguration(e),setTimeout(()=>this.updateIfNeeded())}setNoCustom(e){this.store.actions.noCustom(e)}setEditorMode(e){this.store.actions.editorMode(e)}setNoCustomComponent(e){this.store.actions.noCustomComponent(e)}setSession(e){this.store.actions.session(e),setTimeout(()=>this.updateIfNeeded())}setOpenExternalDocumentInNewTab(e){this.store.actions.openExternalDocumentInNewTab(e)}setNavigatorOnline(e){this.store.actions.navigatorOnline(e)}setForcedOffline(e){this.store.actions.forcedOffline(e)}setAuthenticationRequired(e){this.store.actions.authenticationRequired(e)}},Ia=_a.build();var Ht=class extends Event{constructor(e,r,n,i){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=r,this.callback=n,this.subscribe=i??!1}};var no=class{constructor(){this.pendingContextRequests=new Map,this.onContextProvider=e=>{let r=this.pendingContextRequests.get(e.context);if(r===void 0)return;this.pendingContextRequests.delete(e.context);let{requests:n}=r;for(let{elementRef:i,callbackRef:a}of n){let s=i.deref(),l=a.deref();s===void 0||l===void 0||s.dispatchEvent(new Ht(e.context,s,l,!0))}},this.onContextRequest=e=>{if(e.subscribe!==!0)return;let r=e.contextTarget??e.composedPath()[0],n=e.callback,i=this.pendingContextRequests.get(e.context);i===void 0&&this.pendingContextRequests.set(e.context,i={callbacks:new WeakMap,requests:[]});let a=i.callbacks.get(r);a===void 0&&i.callbacks.set(r,a=new WeakSet),a.has(n)||(a.add(n),i.requests.push({elementRef:new WeakRef(r),callbackRef:new WeakRef(n)}))}}attach(e){e.addEventListener("context-request",this.onContextRequest),e.addEventListener("context-provider",this.onContextProvider)}detach(e){e.removeEventListener("context-request",this.onContextRequest),e.removeEventListener("context-provider",this.onContextProvider)}};var ne=function(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},Y=class extends tt{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.apiIntegrationAppVersion="ft-integration-app-version",this.uiLocale="en-US",this.editorMode=!1,this.noCustom=!1,this.openExternalDocumentInNewTab=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.navigatorOnline=!1,this.forcedOffline=!1,this.authenticationRequired=!1,this.messageContexts=[],this.stateManager=Ia,this.contextRoot=new no}render(){return P`
220
220
  <slot></slot>
221
221
  `}connectedCallback(){super.connectedCallback(),this.stateManager.initService(),this.contextRoot.attach(document.body)}disconnectedCallback(){super.disconnectedCallback(),this.contextRoot.detach(document.body)}update(e){var r;super.update(e),e.has("baseUrl")&&this.stateManager.setBaseUrl(this.baseUrl),e.has("tenantId")&&this.stateManager.setTenantId(this.tenantId),e.has("apiIntegrationIdentifier")&&this.stateManager.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),e.has("apiIntegrationAppVersion")&&this.stateManager.setApiIntegrationAppVersion(this.apiIntegrationAppVersion),e.has("uiLocale")&&this.stateManager.setUiLocale(this.uiLocale),e.has("metadataConfiguration")&&this.stateManager.setMetadataConfiguration(this.metadataConfiguration),e.has("noCustom")&&this.stateManager.setNoCustom(this.noCustom),e.has("editorMode")&&this.stateManager.setEditorMode(this.editorMode),e.has("noCustomComponent")&&this.stateManager.setNoCustomComponent(this.noCustomComponent),e.has("session")&&this.stateManager.setSession(this.session),e.has("messageContexts")&&this.messageContexts!=null&&this.messageContexts.forEach(n=>ro.addContext(n)),e.has("openExternalDocumentInNewTab")&&this.stateManager.setOpenExternalDocumentInNewTab(this.openExternalDocumentInNewTab),e.has("navigatorOnline")&&this.stateManager.setNavigatorOnline(this.navigatorOnline),e.has("forcedOffline")&&this.stateManager.setForcedOffline(this.forcedOffline),e.has("authenticationRequired")&&this.stateManager.setAuthenticationRequired(this.authenticationRequired),e.has("withManualResources")&&((r=this.stateManager)===null||r===void 0||r.setWithManualResources(this.withManualResources)),setTimeout(()=>this.stateManager.updateIfNeeded())}};Y.elementDefinitions={};Y.styles=sd;ne([S()],Y.prototype,"baseUrl",void 0);ne([S()],Y.prototype,"tenantId",void 0);ne([S()],Y.prototype,"apiIntegrationIdentifier",void 0);ne([S()],Y.prototype,"apiIntegrationAppVersion",void 0);ne([S()],Y.prototype,"uiLocale",void 0);ne([be(null)],Y.prototype,"availableUiLocales",void 0);ne([be(null)],Y.prototype,"metadataConfiguration",void 0);ne([S({type:Boolean})],Y.prototype,"editorMode",void 0);ne([S({type:Boolean})],Y.prototype,"noCustom",void 0);ne([S({type:Boolean})],Y.prototype,"openExternalDocumentInNewTab",void 0);ne([S({converter:{fromAttribute(t){return t==="false"?!1:t==="true"||(t??!1)}}})],Y.prototype,"noCustomComponent",void 0);ne([S({type:Boolean})],Y.prototype,"withManualResources",void 0);ne([S({type:Boolean})],Y.prototype,"navigatorOnline",void 0);ne([S({type:Boolean})],Y.prototype,"forcedOffline",void 0);ne([S({type:Boolean})],Y.prototype,"authenticationRequired",void 0);ne([be([])],Y.prototype,"messageContexts",void 0);ne([be(void 0)],Y.prototype,"session",void 0);var ld={"ft-app-context":Y};ee(ld);var Pa=class{fromLocalizableLabel(e){return e.type=="PLAIN_TEXT"?{message:e.text}:{key:e.key,custom:e.type=="LOCALIZED_CUSTOM",context:e.context,message:e.key}}fromAttribute(e){if(e!=null)try{return JSON.parse(e)}catch{if(this.isI18nKey(e)){let[r,n]=e.split(".");return{context:r,key:n,custom:r!=="officialContext",message:""}}return{message:e}}}toAttribute(e){if(e!=null)return JSON.stringify(e)}isI18nKey(e){return e.match(/^[\w-]+\.[\w-]+$/)}},Ar=new Pa;var $f=function(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},ao=Symbol("i18nAttributes"),dd=Symbol("i18nListAttributes"),ud=Symbol("i18nProperties"),Xo=Symbol("i18nContexts"),io=Symbol("i18nUnsubs"),en=X(Symbol("withI18n"),function(t){var e,r;class n extends t{constructor(){super(...arguments),this.useCustomMessageContexts=!1,this[e]=new Map,this[r]=new Map}getI18nService(a){return a??this.useCustomMessageContexts?Aa:ro}i18n(a){let{context:s,key:l,message:d}=a,{custom:p,args:h,argsProvider:f}=a;if(s&&l){this.hasI18nContext(s)||this.addI18nContext(s,void 0,p);let m=h??(f?f(this):[]);return this.getI18nService(p).resolveMessage(s,l,...m)}return d}async awaitI18n(a){let{context:s,custom:l}=a;return s&&await this.getI18nService(l).prepareContext(s),this.i18n(a)}customI18n(a,s){if(Ar.isI18nKey(a)){let[l,d]=a.split(".");return this.i18n({custom:!0,context:l,key:d,...s})||a}return a}firstUpdated(a){super.firstUpdated(a),this.updateI18nAttributes(()=>!0),this.updateI18nProperties(()=>!0)}update(a){super.update(a),this.updateI18nAttributes((s,l,d)=>a.has(l)||typeof s.argsProvider=="function"),this.updateI18nProperties(s=>typeof s.argsProvider=="function")}onI18nUpdate(a){this.updateI18nAttributes((s,l,d)=>{var p;return((p=d?.context)===null||p===void 0?void 0:p.toLowerCase())===a}),this.updateI18nProperties(s=>s.context.toLowerCase()===a),this.requestUpdate()}updateI18nAttributes(a){var s,l;let d=this,p=(h,f,m)=>m?.context&&m.key&&a(h,f,m)?{...m,message:this.i18n({context:m.context,key:m.key,custom:m.custom,...h})}:m;(s=this[ao])===null||s===void 0||s.forEach((h,f)=>d[f]=p(h,f,d[f])),(l=this[dd])===null||l===void 0||l.forEach((h,f)=>{var m;return d[f]=(m=d[f])===null||m===void 0?void 0:m.map(g=>p(h,f,g))})}updateI18nProperties(a){var s;(s=this[ud])===null||s===void 0||s.forEach((l,d)=>{a(l,d)&&(this[d]=this.i18n(l))})}addI18nMessages(a,s,l){console.warn('Deprecated usage of method "addI18nMessages", use "addI18nContext" instead.'),this.addI18nContext(a,s,l)}addI18nContext(a,s,l){let d=(typeof a=="string"?a:a.name).toLowerCase();l=typeof a=="string"?l:a.custom,this[Xo].set(d,{isCustomContext:l}),this[io].has(d)||this[io].set(d,this.getI18nService(l).subscribe(d,()=>this.onI18nUpdate(d))),this.getI18nService(l).prepareContext(d,s)}hasI18nContext(a){return this[Xo].has(a.toLowerCase())}connectedCallback(){super.connectedCallback(),this[Xo].forEach((a,s)=>this.addI18nContext(s,void 0,a.isCustomContext))}disconnectedCallback(){super.disconnectedCallback(),this[io].forEach(a=>a()),this[io].clear()}}return e=Xo,r=io,$f([S({type:Boolean})],n.prototype,"useCustomMessageContexts",void 0),n}),Qo=class extends en(j){},Jo=class extends en(tt){};var Na=class{fromAttribute(e){if(!e)return[];try{let r=JSON.parse(e);return Array.isArray(r)?r.map(n=>typeof n=="string"?Ar.fromAttribute(n):n):[]}catch{return[]}}toAttribute(e){if(e!=null)return JSON.stringify(e)}},Hf=new Na;var pd=(t,e)=>(r,n)=>{var i;r.constructor.createProperty(n,{type:Object,hasChanged:ke,converter:Ar,...e}),r[ao]=(i=r[ao])!==null&&i!==void 0?i:new Map,r[ao].set(n,t??{})};var fd=_`
222
222
  `;var so=function(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},Fe=class extends Jo{constructor(){super(),this.editorMode=!1,this.addStore(k)}render(){return!this.key||!this.context?this.editorMode?"Select a context and a label key.":U:P`
@@ -865,7 +865,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:o.extend("--ftds-con
865
865
  label="${e.label}"
866
866
  .value=${e.value}
867
867
  ></ft-select-option>
868
- `}willUpdate(e){super.willUpdate(e),e.has("options")&&(this.selectedOption=this.options.filter(r=>r.selected)[0]),e.has("selectedOption")&&(this.optionsDisplayed=!1)}contentAvailableCallback(e){var r,n;if(super.contentAvailableCallback(e),e.has("focusOptions")&&this.focusOptions&&((n=(r=this.selectedOptionElement)!==null&&r!==void 0?r:this.firstOption)===null||n===void 0||n.focus(),this.focusOptions=!1),e.has("optionsDisplayed")&&this.hasOptionsMenuOpen){this.optionsMenu.style.minWidth=this.mainPanel.getBoundingClientRect().width+"px";let i=["bottom","top"];di(this.mainPanel,this.optionsMenu,"bottom",i,"fixed",$.optionsHeight,0).then(({x:a,y:s})=>{this.optionsMenu.style.left=`${a}px`,this.optionsMenu.style.top=`${s}px`})}}get hasOptionsMenuOpen(){return!this.disabled&&this.optionsDisplayed&&this.hasOptions}get hasOptions(){return this.options.length>0}updateOptionsFromSlot(e){var r;e.stopPropagation(),this.isSlotEmpty=Vr(this.optionsSlot);let n=(r=this.optionsSlot)===null||r===void 0?void 0:r.assignedElements().map(i=>i);n&&n.length>0&&(this.options=n)}onMainPanelKeyDown(e){switch(e.key){case" ":e.preventDefault(),e.stopPropagation();case"Enter":this.optionsDisplayed=!this.optionsDisplayed,this.focusOptions=!0;break;case"ArrowUp":case"ArrowDown":e.preventDefault(),e.stopPropagation(),this.optionsDisplayed=!0,this.focusOptions=!0;break}}onOptionsKeyDown(e){var r,n;let i,a=this.focusedOption?this.optionsList.indexOf(this.focusedOption):0;switch(e.key){case" ":case"Enter":e.preventDefault(),e.stopPropagation(),this.onSelectOption(e),this.optionsDisplayed=!1,(r=this.mainPanel)===null||r===void 0||r.focus();break;case"Escape":this.optionsDisplayed=!1,(n=this.mainPanel)===null||n===void 0||n.focus();break;case"Tab":this.optionsDisplayed=!1;break;case"ArrowUp":e.preventDefault(),e.stopPropagation(),i=this.optionsList[(a-1+this.optionsList.length)%this.optionsList.length];break;case"ArrowDown":e.preventDefault(),e.stopPropagation(),i=this.optionsList[(a+1)%this.optionsList.length];break;default:if(e.key.length!=1)break;this.isKeyAlphanumeric(e.key)&&(i=this.handleAlphanumericPress(e.key));break}i?.focus()}isKeyAlphanumeric(e){let r=e.charCodeAt(0);return r>47&&r<58||r>64&&r<91||r>96&&r<123}handleAlphanumericPress(e){let r=new Date;r.getTime()-this.lastSearchInputDate.getTime()>t.searchTimeoutMilliseconds&&(this.currentSearch=""),this.currentSearch+=e.toLowerCase();let n=this.options.find(i=>{var a;return((a=i.label)===null||a===void 0?void 0:a.toLowerCase().substring(0,this.currentSearch.length))===this.currentSearch});return this.lastSearchInputDate=r,n&&this.optionsList.find(i=>i.value===n.value)}getOptionId(e){if(!e)return;let r=this.options.findIndex(n=>re(n.value,e.value));if(r!==-1)return`option-${r}`}onSelectOption(e){e.stopPropagation(),this.setValue(e.target.value)}setValue(e,r=!0){let n=this.options.find(i=>re(i.value,e));n&&this.selectOption(n,r)}selectOption(e,r=!0){var n,i;if(!re((n=this.selectedOption)===null||n===void 0?void 0:n.value,e?.value)){this.selectedOption=e;for(let a of this.options)a.selected=a===e;r&&this.dispatchEvent(new CustomEvent("change",{detail:(i=this.selectedOption)===null||i===void 0?void 0:i.value}))}this.optionsDisplayed=!1}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.hideOptions)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.hideOptions)}};q.elementDefinitions={"ft-input-label":$e,"ft-typography":Se,"ft-ripple":K,"ft-icon":Ee,"ft-select-option":le};q.searchTimeoutMilliseconds=2e3;q.styles=[Er,Nd];ae([S({type:String})],q.prototype,"label",void 0);ae([S({type:String})],q.prototype,"ariaLabel",void 0);ae([S({type:String})],q.prototype,"helper",void 0);ae([S({type:Boolean})],q.prototype,"outlined",void 0);ae([S({type:Boolean})],q.prototype,"disabled",void 0);ae([S({type:Boolean})],q.prototype,"error",void 0);ae([S({type:Boolean})],q.prototype,"fixedMenuPosition",void 0);ae([S({type:Array})],q.prototype,"options",void 0);ae([F()],q.prototype,"selectedOption",void 0);ae([F()],q.prototype,"optionsDisplayed",void 0);ae([F()],q.prototype,"focusOptions",void 0);ae([F()],q.prototype,"currentSearch",void 0);ae([F()],q.prototype,"lastSearchInputDate",void 0);ae([te(".ft-select")],q.prototype,"container",void 0);ae([te(".ft-select--options")],q.prototype,"optionsMenu",void 0);ae([te(".ft-select--input-panel")],q.prototype,"mainPanel",void 0);ae([te("slot:not([name])")],q.prototype,"optionsSlot",void 0);var Dd={"ft-select":q,"ft-select-option":le};ee(Dd);function Vf(t){var e;return((e=Zt(t))===null||e===void 0?void 0:e.openMode)===$o.EXTERNAL}function Md(t){return Vf(t)?Zt(t).originUrl:$n(t)}function Ud(t,e=0,r=0){if(t.length===0)return{beforeMenu:[],inMenu:[],afterMenu:[]};let n=Math.max(r,1),i=t.slice(n*-1);return e+n>=t.length?{beforeMenu:[],inMenu:[],afterMenu:t}:{beforeMenu:t.slice(0,e),inMenu:t.slice(e,t.length-i.length),afterMenu:i}}var Ze=function(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},de=class extends en(sn){constructor(){super(),this.separator=">",this.useAsClusterSwitch=!1,this.goToDocumentOnSwitch=!1,this.breadcrumbs=[]}get hasMultiBreadcrumbs(){return this.breadcrumbs.length>1&&this.useAsClusterSwitch}get selectedBreadcrumb(){return this.breadcrumbs.find(e=>e.id===this.selectedBreadcrumbId)}buildArrayBreadcrumbs(){let e=[];this.cluster&&this.cluster.entries.forEach(r=>{e.push({id:Ao(r),breadcrumb:Hn(r),result:r})}),this.breadcrumbs=e,this.selectedBreadcrumbId=Ao(this.result)}willUpdate(e){super.willUpdate(e),this.buildArrayBreadcrumbs()}onBreadcrumbSelected(e){var r,n;e.stopPropagation(),this.selectedBreadcrumbId=e.detail;let i=(r=this.selectedBreadcrumb)===null||r===void 0?void 0:r.result;i&&((n=this.resultStateManager)===null||n===void 0||n.selectResult(i))}render(){return P`
868
+ `}willUpdate(e){super.willUpdate(e),e.has("options")&&(this.selectedOption=this.options.filter(r=>r.selected)[0]),e.has("selectedOption")&&(this.optionsDisplayed=!1)}contentAvailableCallback(e){var r,n;if(super.contentAvailableCallback(e),e.has("focusOptions")&&this.focusOptions&&((n=(r=this.selectedOptionElement)!==null&&r!==void 0?r:this.firstOption)===null||n===void 0||n.focus(),this.focusOptions=!1),e.has("optionsDisplayed")&&this.hasOptionsMenuOpen){this.optionsMenu.style.minWidth=this.mainPanel.getBoundingClientRect().width+"px";let i=["bottom","top"];di(this.mainPanel,this.optionsMenu,"bottom",i,"fixed",$.optionsHeight,0).then(({x:a,y:s})=>{this.optionsMenu.style.left=`${a}px`,this.optionsMenu.style.top=`${s}px`})}}get hasOptionsMenuOpen(){return!this.disabled&&this.optionsDisplayed&&this.hasOptions}get hasOptions(){return this.options.length>0}updateOptionsFromSlot(e){var r;e.stopPropagation(),this.isSlotEmpty=Vr(this.optionsSlot);let n=(r=this.optionsSlot)===null||r===void 0?void 0:r.assignedElements().map(i=>i);n&&n.length>0&&(this.options=n)}onMainPanelKeyDown(e){switch(e.key===" "&&(e.preventDefault(),e.stopPropagation()),e.key){case" ":case"Enter":this.optionsDisplayed=!this.optionsDisplayed,this.focusOptions=!0;break;case"ArrowUp":case"ArrowDown":e.preventDefault(),e.stopPropagation(),this.optionsDisplayed=!0,this.focusOptions=!0;break}}onOptionsKeyDown(e){var r,n;let i,a=this.focusedOption?this.optionsList.indexOf(this.focusedOption):0;switch(e.key){case" ":case"Enter":e.preventDefault(),e.stopPropagation(),this.onSelectOption(e),this.optionsDisplayed=!1,(r=this.mainPanel)===null||r===void 0||r.focus();break;case"Escape":this.optionsDisplayed=!1,(n=this.mainPanel)===null||n===void 0||n.focus();break;case"Tab":this.optionsDisplayed=!1;break;case"ArrowUp":e.preventDefault(),e.stopPropagation(),i=this.optionsList[(a-1+this.optionsList.length)%this.optionsList.length];break;case"ArrowDown":e.preventDefault(),e.stopPropagation(),i=this.optionsList[(a+1)%this.optionsList.length];break;default:if(e.key.length!=1)break;this.isKeyAlphanumeric(e.key)&&(i=this.handleAlphanumericPress(e.key));break}i?.focus()}isKeyAlphanumeric(e){let r=e.charCodeAt(0);return r>47&&r<58||r>64&&r<91||r>96&&r<123}handleAlphanumericPress(e){let r=new Date;r.getTime()-this.lastSearchInputDate.getTime()>t.searchTimeoutMilliseconds&&(this.currentSearch=""),this.currentSearch+=e.toLowerCase();let n=this.options.find(i=>{var a;return((a=i.label)===null||a===void 0?void 0:a.toLowerCase().substring(0,this.currentSearch.length))===this.currentSearch});return this.lastSearchInputDate=r,n&&this.optionsList.find(i=>i.value===n.value)}getOptionId(e){if(!e)return;let r=this.options.findIndex(n=>re(n.value,e.value));if(r!==-1)return`option-${r}`}onSelectOption(e){e.stopPropagation(),this.setValue(e.target.value)}setValue(e,r=!0){let n=this.options.find(i=>re(i.value,e));n&&this.selectOption(n,r)}selectOption(e,r=!0){var n,i;if(!re((n=this.selectedOption)===null||n===void 0?void 0:n.value,e?.value)){this.selectedOption=e;for(let a of this.options)a.selected=a===e;r&&this.dispatchEvent(new CustomEvent("change",{detail:(i=this.selectedOption)===null||i===void 0?void 0:i.value}))}this.optionsDisplayed=!1}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.hideOptions)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.hideOptions)}};q.elementDefinitions={"ft-input-label":$e,"ft-typography":Se,"ft-ripple":K,"ft-icon":Ee,"ft-select-option":le};q.searchTimeoutMilliseconds=2e3;q.styles=[Er,Nd];ae([S({type:String})],q.prototype,"label",void 0);ae([S({type:String})],q.prototype,"ariaLabel",void 0);ae([S({type:String})],q.prototype,"helper",void 0);ae([S({type:Boolean})],q.prototype,"outlined",void 0);ae([S({type:Boolean})],q.prototype,"disabled",void 0);ae([S({type:Boolean})],q.prototype,"error",void 0);ae([S({type:Boolean})],q.prototype,"fixedMenuPosition",void 0);ae([S({type:Array})],q.prototype,"options",void 0);ae([F()],q.prototype,"selectedOption",void 0);ae([F()],q.prototype,"optionsDisplayed",void 0);ae([F()],q.prototype,"focusOptions",void 0);ae([F()],q.prototype,"currentSearch",void 0);ae([F()],q.prototype,"lastSearchInputDate",void 0);ae([te(".ft-select")],q.prototype,"container",void 0);ae([te(".ft-select--options")],q.prototype,"optionsMenu",void 0);ae([te(".ft-select--input-panel")],q.prototype,"mainPanel",void 0);ae([te("slot:not([name])")],q.prototype,"optionsSlot",void 0);var Dd={"ft-select":q,"ft-select-option":le};ee(Dd);function Vf(t){var e;return((e=Zt(t))===null||e===void 0?void 0:e.openMode)===$o.EXTERNAL}function Md(t){return Vf(t)?Zt(t).originUrl:$n(t)}function Ud(t,e=0,r=0){if(t.length===0)return{beforeMenu:[],inMenu:[],afterMenu:[]};let n=Math.max(r,1),i=t.slice(n*-1);return e+n>=t.length?{beforeMenu:[],inMenu:[],afterMenu:t}:{beforeMenu:t.slice(0,e),inMenu:t.slice(e,t.length-i.length),afterMenu:i}}var Ze=function(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},de=class extends en(sn){constructor(){super(),this.separator=">",this.useAsClusterSwitch=!1,this.goToDocumentOnSwitch=!1,this.breadcrumbs=[]}get hasMultiBreadcrumbs(){return this.breadcrumbs.length>1&&this.useAsClusterSwitch}get selectedBreadcrumb(){return this.breadcrumbs.find(e=>e.id===this.selectedBreadcrumbId)}buildArrayBreadcrumbs(){let e=[];this.cluster&&this.cluster.entries.forEach(r=>{e.push({id:Ao(r),breadcrumb:Hn(r),result:r})}),this.breadcrumbs=e,this.selectedBreadcrumbId=Ao(this.result)}willUpdate(e){super.willUpdate(e),this.buildArrayBreadcrumbs()}onBreadcrumbSelected(e){var r,n;e.stopPropagation(),this.selectedBreadcrumbId=e.detail;let i=(r=this.selectedBreadcrumb)===null||r===void 0?void 0:r.result;i&&((n=this.resultStateManager)===null||n===void 0||n.selectResult(i))}render(){return P`
869
869
  ${Le(this.hasMultiBreadcrumbs,()=>this.renderSelectBreadcrumb(),()=>Le(this.breadcrumbs.length>0,()=>this.renderBreadcrumb(this.breadcrumbs[0])))}
870
870
  `}renderBreadcrumb(e,r){let n={"ft-search-breadcrumbs":!0,multiline:!!this.multiline};return P`
871
871
  <ol slot="${r}" part="breadcrumb-list" class="${Ne(n)}" aria-label="${e.breadcrumb.join(" ")}">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-search-breadcrumbs",
3
- "version": "2.1.19",
3
+ "version": "2.1.21",
4
4
  "description": "search breadcrumbs component",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,11 +19,11 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-wc-utils": "2.1.19",
22
+ "@fluid-topics/ft-wc-utils": "2.1.21",
23
23
  "lit": "3.1.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@fluid-topics/ft-wc-test-utils": "2.1.19"
26
+ "@fluid-topics/ft-wc-test-utils": "2.1.21"
27
27
  },
28
- "gitHead": "c2c202986d05fbee1378d8dbb74fa609e89260ec"
28
+ "gitHead": "a0f619df74c0665183d73df09e75b1eddc2a2a1f"
29
29
  }