@fluid-topics/ft-search-result-abstract 2.0.23 → 2.0.25

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.
@@ -82,7 +82,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:r.extend("--ftds-con
82
82
  <li>${this.helperText}</li>
83
83
  `)}
84
84
  </ul>
85
- `}resolveStatus(){return this.forceStatus?this.forceStatus:this.errorMessages.length?ht.error:this.warningMessages.length?ht.warning:ht.default}processRules(n){return n.map(a=>a(this.value)).filter(a=>a!==!0).map(a=>a)}}return Y([L()],e.prototype,"warningRules",void 0),Y([L()],e.prototype,"errorRules",void 0),Y([L()],e.prototype,"validateOn",void 0),Y([L({type:Boolean})],e.prototype,"validateAtRender",void 0),Y([L()],e.prototype,"label",void 0),Y([L({type:Boolean})],e.prototype,"hideLabel",void 0),Y([L()],e.prototype,"name",void 0),Y([L({type:Boolean})],e.prototype,"disabled",void 0),Y([L()],e.prototype,"helperText",void 0),Y([L()],e.prototype,"forceStatus",void 0),Y([L({reflect:!0})],e.prototype,"value",void 0),Y([oe()],e.prototype,"errorMessages",void 0),Y([oe()],e.prototype,"warningMessages",void 0),Y([oe()],e.prototype,"status",void 0),Y([oe()],e.prototype,"focused",void 0),Y([oe()],e.prototype,"additionalWarningRules",void 0),Y([oe()],e.prototype,"additionalErrorRules",void 0),e});var _r=(t,e)=>{let o=t._$AN;if(o===void 0)return!1;for(let n of o)n._$AO?.(e,!1),_r(n,e);return!0},mo=t=>{let e,o;do{if((e=t._$AM)===void 0)break;o=e._$AN,o.delete(t),t=e}while(o?.size===0)},qc=t=>{for(let e;e=t._$AM;t=e){let o=e._$AN;if(o===void 0)e._$AN=o=new Set;else if(o.has(t))break;o.add(t),Tf(e)}};function Af(t){this._$AN!==void 0?(mo(this),this._$AM=t,qc(this)):this._$AM=t}function Rf(t,e=!1,o=0){let n=this._$AH,a=this._$AN;if(a!==void 0&&a.size!==0)if(e)if(Array.isArray(n))for(let i=o;i<n.length;i++)_r(n[i],!1),mo(n[i]);else n!=null&&(_r(n,!1),mo(n));else _r(this,t)}var Tf=t=>{t.type==be.CHILD&&(t._$AP??=Rf,t._$AQ??=Af)},zt=class extends le{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,o,n){super._$AT(e,o,n),qc(this),this.isConnected=e._$AU}_$AO(e,o=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),o&&(_r(this,e),mo(this))}setValue(e){if(Ai(this._$Ct))this._$Ct._$AI(e,this);else{let o=[...this._$Ct._$AH];o[this._$Ci]=e,this._$Ct._$AI(o,this,0)}}disconnected(){}reconnected(){}};var Ha=class extends zt{get element(){var e;return(e=this.part)===null||e===void 0?void 0:e.element}constructor(e){super(e),this.onFirstTrapFocus=async o=>{if(!this.element||!o.relatedTarget)return;let n=o.relatedTarget;this.isInsideElement(n,this.element)?await this.focusLastDescendant(this.element):await this.focusFirstDescendant(this.element)},this.onLastTrapFocus=async o=>{if(!this.element||!o.relatedTarget)return;let n=o.relatedTarget;this.isInsideElement(n,this.element)?await this.focusFirstDescendant(this.element):await this.focusLastDescendant(this.element)}}render(){return V}update(e){return this.part=e,this.isElementTrappable(e.element)&&this.createFocusTrap(e.element),V}reconnected(){var e;this.isElementTrappable((e=this.part)===null||e===void 0?void 0:e.element)&&this.createFocusTrap(this.part.element)}disconnected(){var e,o,n,a;(e=this.firstTrap)===null||e===void 0||e.removeEventListener("focus",this.onFirstTrapFocus),(o=this.lastTrap)===null||o===void 0||o.removeEventListener("focus",this.onLastTrapFocus),(n=this.firstTrap)===null||n===void 0||n.remove(),(a=this.lastTrap)===null||a===void 0||a.remove(),this.firstTrap=void 0,this.lastTrap=void 0}isElementTrappable(e){return!!e&&e instanceof HTMLElement&&e.childElementCount>0}createFocusTrap(e){this.firstTrap=this.createTrap(),this.lastTrap=this.createTrap(),e.insertBefore(this.firstTrap,e.firstChild),e.appendChild(this.lastTrap),this.lastTrap.addEventListener("focus",this.onLastTrapFocus),this.firstTrap.addEventListener("focus",this.onFirstTrapFocus)}createTrap(){let e=document.createElement("div");return e.tabIndex=0,e}getChildren(e){return e instanceof HTMLSlotElement?e.assignedElements():e.shadowRoot?e.shadowRoot.children:e.children}async focusFirstDescendant(e){await this.updateCompleteIfNecessary(e);let o=this.getChildren(e);for(let n=0;n<o.length;n++){let a=o[n];if(a instanceof HTMLElement&&(this.attemptFocus(a)||await this.focusFirstDescendant(a)))return!0}return!1}async focusLastDescendant(e){await this.updateCompleteIfNecessary(e);let o=this.getChildren(e);for(let n=o.length-1;n>=0;n--){let a=o[n];if(a instanceof HTMLElement&&(this.attemptFocus(a)||await this.focusLastDescendant(a)))return!0}return!1}async updateCompleteIfNecessary(e){e instanceof ce&&await e.updateComplete}isInsideElement(e,o){for(let n=e;n;n=n.parentNode){if(n===o)return!0;n instanceof ShadowRoot?n=n.host:n.assignedSlot&&(n=n.assignedSlot)}return!1}attemptFocus(e){return e===this.firstTrap||e===this.lastTrap||!this.isFocusable(e)?!1:(e.focus(),!0)}isFocusable(e){return!e.checkVisibility()||this.isElementDisabled(e)?!1:e instanceof HTMLAnchorElement?!!e.href&&e.rel!=="ignore":e instanceof HTMLInputElement?e.type!=="hidden":e.tabIndex>=0}isElementDisabled(e){return"disabled"in e&&!!e.disabled}},Cv=ne(Ha);var Zc;(function(t){t.sm="sm",t.md="md",t.lg="lg",t.xl="xl"})(Zc||(Zc={}));var If={sm:640,md:768,lg:1024,xl:1280},za=class extends zt{constructor(e){super(e),this.size=0,this.onResize=()=>{let o=window.innerWidth;this.size!==o&&(this.size=o,this.lastArgs&&this.setValue(this.render(...this.lastArgs)))},this.size=window.innerWidth,window.addEventListener("resize",this.onResize)}disconnected(){window.removeEventListener("resize",this.onResize)}reconnected(){window.addEventListener("resize",this.onResize)}update(e,[o,n,a]){return this.lastArgs=[o,n,a],this.render(o,n,a)}render(e,o,n){let a=this.resolveThreshold(e),i=n??(()=>z);return this.size>a?o():i()}resolveThreshold(e){return typeof e=="number"?e:If[e]}},Av=ne(za);var Wa,Ga,ja,Va,Lf=navigator.vendor&&!!navigator.vendor.match(/apple/i)||((ja=(Ga=(Wa=window.safari)===null||Wa===void 0?void 0:Wa.pushNotification)===null||Ga===void 0?void 0:Ga.toString())!==null&&ja!==void 0?ja:"")==="[object SafariRemoteNotification]",_f="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;window.ftGlobals=(Va=window.ftGlobals)!==null&&Va!==void 0?Va:{lit:jo,litDecorators:Vo,litRepeat:Ko,litClassMap:qo,litStyleMap:Zo,litUnsafeHTML:Jo,wcUtils:{...nn,...Xo,...ln,...Na,...dn,...un,...Ln,...on,...Gn,...Ua,...jc,...Ia,...jn,...In,...Jn,...Pa,...Zn,...Ba,...Ss,...en,...ea,..._n,...ta,...Vc,...Os,...ra,...Aa,...Da,...Vn,...qn,..._a,...an,isSafari:Lf,isTouchScreen:_f,setVariable:Ot}};var Ka;(function(t){t.CLUSTERED_SEARCH="CLUSTERED_SEARCH"})(Ka||(Ka={}));var kf="ft-app-info",Wt=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};Wt.eventName="authentication-change";var kr=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};kr.eventName="ui-locale-changed";var Pf={session:(t,e)=>{ae(t.session,e.payload)||(t.session=e.payload,setTimeout(()=>F.dispatchEvent(new Wt(e.payload)),0))}},F=Ve.get({name:kf,reducers:Pf,initialState:{baseUrl:void 0,apiIntegrationIdentifier:void 0,apiIntegrationAppVersion:void 0,uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],availableContentLocales:[],defaultLocales:void 0,searchInAllLanguagesAllowed:!1,searchLanguageSetsUiLanguage:!1,uiLanguageSetsSearchLanguage:!1,uiLanguageSetsReaderLanguage:!1,metadataConfiguration:void 0,privacyPolicyConfiguration:void 0,editorMode:!1,noCustom:!1,noCustomComponent:!1,session:void 0,openExternalDocumentInNewTab:!1,navigatorOnline:!0,forcedOffline:!1,authenticationRequired:!1}});var bo=function(t,e,o,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(i=(a<3?s(i):a>3?s(e,o,i):s(e,o))||i);return a>3&&i&&Object.defineProperty(e,o,i),i},A0=K(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(F)}dateFormatOptionsChanged(n){return n.has("metadataDescriptors")||n.has("useLongDateFormat")||n.has("useDateTimeFormat")||n.has("uiLocale")}getDateFormatter(n){var a,i;return((i=(a=this.metadataDescriptors.find(l=>l.key===n))===null||a===void 0?void 0:a.date)!==null&&i!==void 0?i:!1)?l=>ft.format(l,this.uiLocale,this.useLongDateFormat,this.useDateTimeFormat):void 0}}return bo([L({type:Boolean})],e.prototype,"useLongDateFormat",void 0),bo([L({type:Boolean})],e.prototype,"useDateTimeFormat",void 0),bo([ao({store:F.name,selector:o=>{var n,a;return(a=(n=o.metadataConfiguration)===null||n===void 0?void 0:n.descriptors)!==null&&a!==void 0?a:[]}})],e.prototype,"metadataDescriptors",void 0),bo([ao({store:F.name})],e.prototype,"uiLocale",void 0),e});var yt=class t{static get(e){let{baseUrl:o,apiIntegrationIdentifier:n}=F.getState(),a=e??n;if(o&&a&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(o,a,!0)}static await(e){return new Promise(o=>{let n=t.get(e);if(n)o(n);else{let a=F.subscribe(()=>{n=t.get(e),n&&(a(),o(n))})}})}};var Gt=class{constructor(e){this.overrideApi=e}get api(){var e;return(e=this.overrideApi)!==null&&e!==void 0?e:yt.get()}get awaitApi(){return this.overrideApi?Promise.resolve(this.overrideApi):yt.await()}};var te=class extends Gt{constructor(e=!0,o){var n;super(o),this.sortObjectFields=(i,s)=>typeof s!="object"||s==null||Array.isArray(s)?s:Object.fromEntries(Object.entries(s).sort(([l],[d])=>l.localeCompare(d)));let a=this.constructor;a.commonCache=(n=a.commonCache)!==null&&n!==void 0?n:new xe,this.cache=e?a.commonCache:new xe}clearCache(){this.cache.clearAll()}hash(e){return String(Array.from(JSON.stringify(e,this.sortObjectFields)).reduce((o,n)=>0|31*o+n.charCodeAt(0),0))}};var xo=class extends te{async listMySearches(){let{session:e}=F.getState();return zc(e,j.SAVED_SEARCH_USER)?this.cache.get("my-searches",async()=>(await this.awaitApi).listMySearches(e.profile.userId),5*60*1e3):[]}};var vo=class extends te{async listMyBookmarks(){let e=F.getState().session;return e?.sessionAuthenticated?this.cache.get("my-bookmarks",async()=>(await this.awaitApi).listMyBookmarks(e.profile.userId),5*60*1e3):[]}};var So=class extends te{constructor(){super(...arguments),this.CACHE_DURATION=3*60*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=F.getState().session;return!!e?.sessionAuthenticated}};var Co=class extends te{constructor(){super(...arguments),this.CACHE_DURATION=3*60*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=F.getState().session;return!!e?.sessionAuthenticated}};var Nf="ft-user-assets",Ff={setAssetCount:(t,e)=>{let{userAssetType:o,count:n}=e.payload.assetCount;t.assetCounts.allAsset[o]=n},clearAssetCount:t=>{Object.values(pe).forEach(e=>{t.assetCounts.allAsset[e]=void 0})},setBookmarkCountByMap:(t,e)=>{let o=e.payload.mapId;t.assetCounts.bookmarkByMap[o]=e.payload.count},clearBookmarkCountByMap:t=>{t.assetCounts.bookmarkByMap={}},addAsset:(t,e)=>{let{assetType:o,mapId:n,asset:a}=e.payload;Za(t,o,[...qa(t,o),a]),Yc(t,o,1,n),Jc(t,a)},editAsset:(t,e)=>{let{assetType:o,asset:n}=e.payload;Za(t,o,qa(t,o).map(a=>a.id===n.id?n:a)),Jc(t,n)},removeAsset:(t,e)=>{let{assetType:o,mapId:n,assetId:a}=e.payload;Za(t,o,qa(t,o).filter(i=>i.id!==a)),Yc(t,o,-1,n)}},Xc={[pe.SEARCHES]:"savedSearches",[pe.BOOKMARKS]:"bookmarks",[pe.BOOKS]:void 0,[pe.COLLECTIONS]:void 0},qa=(t,e)=>{var o;let n=Xc[e];return n?(o=t[n])!==null&&o!==void 0?o:[]:[]},Za=(t,e,o)=>{let n=Xc[e];n&&(t[n]=o)},Yc=(t,e,o,n)=>{let a=t.assetCounts.allAsset[e];if(a!==void 0&&(t.assetCounts.allAsset[e]=Math.max(0,a+o),e===pe.BOOKMARKS&&n)){let i=t.assetCounts.bookmarkByMap[n];t.assetCounts.bookmarkByMap[n]=Math.max(0,i+o)}},Jc=(t,e)=>{let o=t.assetLabels.map(a=>a.title),n=e.labels.filter(a=>!o.includes(a)).map(a=>({title:a}));t.assetLabels.push(...n)},se=Ve.get({name:Nf,reducers:Ff,initialState:{savedSearches:void 0,bookmarks:void 0,assetCounts:{allAsset:Object.fromEntries(Object.values(pe).map(t=>[t,void 0])),bookmarkByMap:{}},assetLabels:[]}}),Ya=class{constructor(e=new So,o=new Co){this.assetCountsService=e,this.assetLabelsService=o,this.currentSession=F.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new vo,this.savedSearchesService=new xo,F.subscribe(()=>this.reloadWhenUserSessionChanges())}reloadWhenUserSessionChanges(){var e;let{session:o}=F.getState();ae((e=this.currentSession)===null||e===void 0?void 0:e.profile,o?.profile)||(this.currentSession=o,this.clearMySearches(),this.reloadBookmarks(),this.clearUserAssetCounts(),this.reloadAssetLabels())}clearUserAssetCounts(){this.assetCountsService.clearCache(),se.actions.clearAssetCount(),se.actions.clearBookmarkCountByMap()}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){this.savedSearchesService.clearCache(),se.actions.savedSearches(void 0)}clearMyBookmarks(){this.bookmarksService.clearCache(),se.actions.bookmarks(void 0)}async reloadMySearches(){this.savedSearchesService.clearCache();let e=await this.savedSearchesService.listMySearches();se.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async reloadAssetLabels(){this.assetLabelsService.clearCache();let e=await this.assetLabelsService.getUserAssetLabels();se.actions.assetLabels(e)}async loadAssetCount(e){let o=await this.assetCountsService.getUserAssetCount(e);o&&se.actions.setAssetCount({assetCount:o})}async loadBookmarkByMapId(e){let o=await this.assetCountsService.getUserBookmarkCountByMap(e);o&&se.actions.setBookmarkCountByMap({count:o.count,mapId:e})}async reloadAssetCount(e){this.assetCountsService.clearCache();let o=Object.keys(se.getState().assetCounts.bookmarkByMap).length!==0;e===pe.BOOKMARKS&&o&&se.actions.clearBookmarkCountByMap(),se.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 o=!((e=this.currentSession)===null||e===void 0)&&e.sessionAuthenticated?await this.bookmarksService.listMyBookmarks():void 0;se.actions.bookmarks(o)}}},Df=new Ya;window.FluidTopicsUserAssetsActions==null&&(window.FluidTopicsUserAssetsActions=Df);var Ja=class{addCommand(e,o=!1){F.commands.add(e,o)}consumeCommand(e){return F.commands.consume(e)}};window.FluidTopicsAppInfoStoreService=new Ja;var Qc,jt=class extends CustomEvent{constructor(e){super("ft-i18n-context-loaded",{detail:e})}},Mf=Symbol("clearAfterUnitTest"),Oo=class extends Zr(te){constructor(e){super(),this.messageContextProvider=e,this.defaultMessages={},this.listeners={},this.currentUiLocale="",this[Qc]=()=>{this.defaultMessages={},this.cache=new xe,this.listeners={}},this.currentUiLocale=F.getState().uiLocale,F.subscribe(()=>this.clearWhenUiLocaleChanges())}clearWhenUiLocaleChanges(){let{uiLocale:e}=F.getState();this.currentUiLocale!==e&&(this.currentUiLocale=e,this.cache.clearAll(),this.notifyAll())}addContext(e){let o=e.name.toLowerCase();this.cache.setFinal(o,e),this.notify(o)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(e,o){var n;if(e=e.toLowerCase(),o&&Object.keys(o).length>0){let a={...(n=this.defaultMessages[e])!==null&&n!==void 0?n:{},...o};ae(this.defaultMessages[e],a)||(this.defaultMessages[e]=a,await this.notify(e))}return this.fetchContext(e)}resolveContext(e){var o,n;return this.fetchContext(e),(n=(o=this.cache.getNow(e))===null||o===void 0?void 0:o.messages)!==null&&n!==void 0?n:{}}resolveRawMessage(e,o){let n=e.toLowerCase();return this.resolveContext(n)[o]}resolveMessage(e,o,...n){var a;let i=e.toLowerCase(),s=this.resolveContext(i);return new wr((a=this.defaultMessages[i])!==null&&a!==void 0?a:{},s).resolve(o,...n)}async fetchContext(e){let o=!this.cache.has(e),n;try{n=await this.cache.get(e,()=>this.messageContextProvider(this.currentUiLocale,e)),o&&await this.notify(e)}catch(a){!(a instanceof Ne)&&o&&console.error(a)}return n}subscribe(e,o){var n;return e=e.toLowerCase(),this.listeners[e]=(n=this.listeners[e])!==null&&n!==void 0?n:new Set,this.listeners[e].add(o),()=>{var a;return(a=this.listeners[e])===null||a===void 0?void 0:a.delete(o)}}async notifyAll(){let e=Object.keys(this.listeners);document.body.dispatchEvent(new jt({loadedContexts:e})),this.dispatchEvent(new jt({loadedContexts:e})),await Promise.all(e.map(o=>this.notify(o,!1)))}async notify(e,o=!0){o&&(document.body.dispatchEvent(new jt({loadedContexts:[e]})),this.dispatchEvent(new jt({loadedContexts:[e]}))),this.listeners[e]!=null&&await Promise.all([...this.listeners[e].values()].map(n=>qr(0).then(()=>n()).catch(()=>null)))}};Qc=Mf;window.FluidTopicsI18nService==null&&(window.FluidTopicsI18nService=new class extends Oo{constructor(){super(async(t,e)=>(await this.awaitApi).getFluidTopicsMessageContext(t,e))}});window.FluidTopicsCustomI18nService==null&&(window.FluidTopicsCustomI18nService=new class extends Oo{constructor(){super(async(t,e)=>(await this.awaitApi).getCustomMessageContext(t,e))}});var el=window.FluidTopicsI18nService,dS=window.FluidTopicsCustomI18nService;var Xa=class{highlightHtml(e,o,n){Qn(e,o,n)}};window.FluidTopicsHighlightHtmlService=new Xa;var Qa=class{isDate(e){var o,n,a,i;return(i=(a=((n=(o=F.getState().metadataConfiguration)===null||o===void 0?void 0:o.descriptors)!==null&&n!==void 0?n:[]).find(l=>l.key===e))===null||a===void 0?void 0:a.date)!==null&&i!==void 0?i:!1}format(e,o){var n,a,i,s;if(e==null)return"";try{return ft.format(e,(n=o?.locale)!==null&&n!==void 0?n:F.getState().uiLocale,(a=o?.longFormat)!==null&&a!==void 0?a:!1,(i=o?.withTime)!==null&&i!==void 0?i:!1,(s=o?.onlyTime)!==null&&s!==void 0?s:!1)}catch(l){throw console.error(`Date ${JSON.stringify(e)} is not valid`,l),l}}};window.FluidTopicsDateService=new Qa;var Pr=class{static get(e,o){var n,a;let i=F.getState(),{lang:s,region:l}=(a=(n=i.defaultLocales)===null||n===void 0?void 0:n.defaultContentLocale)!==null&&a!==void 0?a:{lang:"en",region:"US"};return new $t(i.baseUrl,e??20,i.searchInAllLanguagesAllowed,o??`${s}-${l}`)}};var ei=class{urlToSearchRequest(e){return Pr.get().parse(e)}searchRequestToUrl(e){return Pr.get().serialize(e)}};window.FluidTopicsUrlService=new ei;var gt=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:{currentItem:e}})}};gt.eventName="change";var ti=class{itemName(e){return`fluid-topics-history-item-${e}`}get(e){let o=sessionStorage.getItem(this.itemName(e));return o?JSON.parse(o):void 0}set(e,o){sessionStorage.setItem(this.itemName(e),JSON.stringify(o))}},tl=new ti;var Eo=class t extends Ae{static build(){return new t(window.history,tl,()=>window.location,!1)}constructor(e,o,n,a){var i,s;super(),this.history=e,this.historyStorage=o,this.windowLocation=n,this.states=[],this.realPushState=e.pushState,this.realReplaceState=e.replaceState,this.initialIndex=(s=(i=e.state)===null||i===void 0?void 0:i.index)!==null&&s!==void 0?s:e.length-1,this.currentIndex=this.initialIndex,this.setCurrentState(this.buildCurrentState()),this.installProxies(),this.initEventListeners(),this.initData(a)}setCurrentState(e,o=!1){let n=o&&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),ae(this.currentState,this.history.state)||this.realReplaceState.apply(this.history,[this.currentState,this.currentState.title,window.location.href]),setTimeout(()=>this.dispatchEvent(new gt(this.currentItem())),0)}installProxies(){let e=o=>(n,a,[i,s,l])=>{let d=o(),f={...d===this.currentIndex?this.currentState:void 0,...i,index:d,href:typeof l=="string"?l:(l??this.windowLocation()).href};n.apply(a,[f,s,l]),this.setCurrentState(f,!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 o=this.history.length-1;o>=0;o--)e?this.states[o]=this.historyStorage.get(o):setTimeout(()=>this.states[o]=this.historyStorage.get(o),this.history.length-o)}updateCurrentState(e){var o;let n={...this.buildCurrentState(),...e,index:this.currentIndex,title:(o=e?.title)!==null&&o!==void 0?o:this.currentState.title};this.setCurrentState(n)}addHistoryChangeListener(e){this.addEventListener(gt.eventName,e)}removeHistoryChangeListener(e){this.removeEventListener(gt.eventName,e)}currentItem(){return De(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 De(this.states[this.previousDifferentMajorPosition()])}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 De(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 o;let n=(o=this.states[e])===null||o===void 0?void 0:o.majorStateId;if(!n)return e;let a=e,i=e+1;for(;this.states.length>i&&!this.isDifferentMajorState(i,n);)this.hasState(i)&&(a=i),i++;return a}buildCurrentState(){var e,o;return{...this.history.state,index:this.currentIndex,href:this.windowLocation().href,title:(o=(e=this.history.state)===null||e===void 0?void 0:e.title)!==null&&o!==void 0?o:document.title}}hasState(e){return this.states[e]!=null}isDifferentMajorState(e,o){var n;if(!this.hasState(e))return!1;let a=o??this.currentState.majorStateId,i=(n=this.states[e])===null||n===void 0?void 0:n.majorStateId;return i==null||i!=a}};window.FluidTopicsInternalHistoryService==null&&(window.FluidTopicsInternalHistoryService=Eo.build(),window.FluidTopicsHistoryService={currentItem:()=>window.FluidTopicsInternalHistoryService.currentItem(),back:()=>window.FluidTopicsInternalHistoryService.back(),forward:()=>window.FluidTopicsInternalHistoryService.forward(),backwardItem:()=>window.FluidTopicsInternalHistoryService.backwardItem(),forwardItem:()=>window.FluidTopicsInternalHistoryService.forwardItem(),addHistoryChangeListener:t=>window.FluidTopicsInternalHistoryService.addHistoryChangeListener(t),removeHistoryChangeListener:t=>window.FluidTopicsInternalHistoryService.removeHistoryChangeListener(t)});var rl=P`
85
+ `}resolveStatus(){return this.forceStatus?this.forceStatus:this.errorMessages.length?ht.error:this.warningMessages.length?ht.warning:ht.default}processRules(n){return n.map(a=>a(this.value)).filter(a=>a!==!0).map(a=>a)}}return Y([L()],e.prototype,"warningRules",void 0),Y([L()],e.prototype,"errorRules",void 0),Y([L()],e.prototype,"validateOn",void 0),Y([L({type:Boolean})],e.prototype,"validateAtRender",void 0),Y([L()],e.prototype,"label",void 0),Y([L({type:Boolean})],e.prototype,"hideLabel",void 0),Y([L()],e.prototype,"name",void 0),Y([L({type:Boolean})],e.prototype,"disabled",void 0),Y([L()],e.prototype,"helperText",void 0),Y([L()],e.prototype,"forceStatus",void 0),Y([L({reflect:!0})],e.prototype,"value",void 0),Y([oe()],e.prototype,"errorMessages",void 0),Y([oe()],e.prototype,"warningMessages",void 0),Y([oe()],e.prototype,"status",void 0),Y([oe()],e.prototype,"focused",void 0),Y([oe()],e.prototype,"additionalWarningRules",void 0),Y([oe()],e.prototype,"additionalErrorRules",void 0),e});var _r=(t,e)=>{let o=t._$AN;if(o===void 0)return!1;for(let n of o)n._$AO?.(e,!1),_r(n,e);return!0},mo=t=>{let e,o;do{if((e=t._$AM)===void 0)break;o=e._$AN,o.delete(t),t=e}while(o?.size===0)},qc=t=>{for(let e;e=t._$AM;t=e){let o=e._$AN;if(o===void 0)e._$AN=o=new Set;else if(o.has(t))break;o.add(t),Tf(e)}};function Af(t){this._$AN!==void 0?(mo(this),this._$AM=t,qc(this)):this._$AM=t}function Rf(t,e=!1,o=0){let n=this._$AH,a=this._$AN;if(a!==void 0&&a.size!==0)if(e)if(Array.isArray(n))for(let i=o;i<n.length;i++)_r(n[i],!1),mo(n[i]);else n!=null&&(_r(n,!1),mo(n));else _r(this,t)}var Tf=t=>{t.type==be.CHILD&&(t._$AP??=Rf,t._$AQ??=Af)},zt=class extends le{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,o,n){super._$AT(e,o,n),qc(this),this.isConnected=e._$AU}_$AO(e,o=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),o&&(_r(this,e),mo(this))}setValue(e){if(Ai(this._$Ct))this._$Ct._$AI(e,this);else{let o=[...this._$Ct._$AH];o[this._$Ci]=e,this._$Ct._$AI(o,this,0)}}disconnected(){}reconnected(){}};var Ha=class extends zt{get element(){var e;return(e=this.part)===null||e===void 0?void 0:e.element}constructor(e){super(e),this.onFirstTrapFocus=async o=>{if(!this.element||!o.relatedTarget)return;let n=o.relatedTarget;this.isInsideElement(n,this.element)?await this.focusLastDescendant(this.element):await this.focusFirstDescendant(this.element)},this.onLastTrapFocus=async o=>{if(!this.element||!o.relatedTarget)return;let n=o.relatedTarget;this.isInsideElement(n,this.element)?await this.focusFirstDescendant(this.element):await this.focusLastDescendant(this.element)}}render(){return V}update(e){return this.part=e,this.ensureFocusTrap(e.element),V}reconnected(){var e;this.ensureFocusTrap((e=this.part)===null||e===void 0?void 0:e.element)}disconnected(){this.removeFocusTrap()}ensureFocusTrap(e){var o,n;this.isElementTrappable(e)&&(((o=this.firstTrap)===null||o===void 0?void 0:o.parentElement)===e&&((n=this.lastTrap)===null||n===void 0?void 0:n.parentElement)===e||(this.removeFocusTrap(),this.createFocusTrap(e)))}removeFocusTrap(){var e,o,n,a;(e=this.firstTrap)===null||e===void 0||e.removeEventListener("focus",this.onFirstTrapFocus),(o=this.lastTrap)===null||o===void 0||o.removeEventListener("focus",this.onLastTrapFocus),(n=this.firstTrap)===null||n===void 0||n.remove(),(a=this.lastTrap)===null||a===void 0||a.remove(),this.firstTrap=void 0,this.lastTrap=void 0}isElementTrappable(e){return!!e&&e instanceof HTMLElement&&e.childElementCount>0}createFocusTrap(e){this.firstTrap=this.createTrap(),this.lastTrap=this.createTrap(),e.insertBefore(this.firstTrap,e.firstChild),e.appendChild(this.lastTrap),this.lastTrap.addEventListener("focus",this.onLastTrapFocus),this.firstTrap.addEventListener("focus",this.onFirstTrapFocus)}createTrap(){let e=document.createElement("div");return e.tabIndex=0,e}getChildren(e){return e instanceof HTMLSlotElement?e.assignedElements():e.shadowRoot?e.shadowRoot.children:e.children}async focusFirstDescendant(e){await this.updateCompleteIfNecessary(e);let o=this.getChildren(e);for(let n=0;n<o.length;n++){let a=o[n];if(a instanceof HTMLElement&&(this.attemptFocus(a)||await this.focusFirstDescendant(a)))return!0}return!1}async focusLastDescendant(e){await this.updateCompleteIfNecessary(e);let o=this.getChildren(e);for(let n=o.length-1;n>=0;n--){let a=o[n];if(a instanceof HTMLElement&&(this.attemptFocus(a)||await this.focusLastDescendant(a)))return!0}return!1}async updateCompleteIfNecessary(e){e instanceof ce&&await e.updateComplete}isInsideElement(e,o){for(let n=e;n;n=n.parentNode){if(n===o)return!0;n instanceof ShadowRoot?n=n.host:n.assignedSlot&&(n=n.assignedSlot)}return!1}attemptFocus(e){return e===this.firstTrap||e===this.lastTrap||!this.isFocusable(e)?!1:(e.focus(),!0)}isFocusable(e){return!e.checkVisibility()||this.isElementDisabled(e)?!1:e instanceof HTMLAnchorElement?!!e.href&&e.rel!=="ignore":e instanceof HTMLInputElement?e.type!=="hidden":e.tabIndex>=0}isElementDisabled(e){return"disabled"in e&&!!e.disabled}},Cv=ne(Ha);var Zc;(function(t){t.sm="sm",t.md="md",t.lg="lg",t.xl="xl"})(Zc||(Zc={}));var If={sm:640,md:768,lg:1024,xl:1280},za=class extends zt{constructor(e){super(e),this.size=0,this.onResize=()=>{let o=window.innerWidth;this.size!==o&&(this.size=o,this.lastArgs&&this.setValue(this.render(...this.lastArgs)))},this.size=window.innerWidth,window.addEventListener("resize",this.onResize)}disconnected(){window.removeEventListener("resize",this.onResize)}reconnected(){window.addEventListener("resize",this.onResize)}update(e,[o,n,a]){return this.lastArgs=[o,n,a],this.render(o,n,a)}render(e,o,n){let a=this.resolveThreshold(e),i=n??(()=>z);return this.size>a?o():i()}resolveThreshold(e){return typeof e=="number"?e:If[e]}},Av=ne(za);var Wa,Ga,ja,Va,Lf=navigator.vendor&&!!navigator.vendor.match(/apple/i)||((ja=(Ga=(Wa=window.safari)===null||Wa===void 0?void 0:Wa.pushNotification)===null||Ga===void 0?void 0:Ga.toString())!==null&&ja!==void 0?ja:"")==="[object SafariRemoteNotification]",_f="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;window.ftGlobals=(Va=window.ftGlobals)!==null&&Va!==void 0?Va:{lit:jo,litDecorators:Vo,litRepeat:Ko,litClassMap:qo,litStyleMap:Zo,litUnsafeHTML:Jo,wcUtils:{...nn,...Xo,...ln,...Na,...dn,...un,...Ln,...on,...Gn,...Ua,...jc,...Ia,...jn,...In,...Jn,...Pa,...Zn,...Ba,...Ss,...en,...ea,..._n,...ta,...Vc,...Os,...ra,...Aa,...Da,...Vn,...qn,..._a,...an,isSafari:Lf,isTouchScreen:_f,setVariable:Ot}};var Ka;(function(t){t.CLUSTERED_SEARCH="CLUSTERED_SEARCH"})(Ka||(Ka={}));var kf="ft-app-info",Wt=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};Wt.eventName="authentication-change";var kr=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};kr.eventName="ui-locale-changed";var Pf={session:(t,e)=>{ae(t.session,e.payload)||(t.session=e.payload,setTimeout(()=>F.dispatchEvent(new Wt(e.payload)),0))}},F=Ve.get({name:kf,reducers:Pf,initialState:{baseUrl:void 0,apiIntegrationIdentifier:void 0,apiIntegrationAppVersion:void 0,uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],availableContentLocales:[],defaultLocales:void 0,searchInAllLanguagesAllowed:!1,searchLanguageSetsUiLanguage:!1,uiLanguageSetsSearchLanguage:!1,uiLanguageSetsReaderLanguage:!1,metadataConfiguration:void 0,privacyPolicyConfiguration:void 0,editorMode:!1,noCustom:!1,noCustomComponent:!1,session:void 0,openExternalDocumentInNewTab:!1,navigatorOnline:!0,forcedOffline:!1,authenticationRequired:!1}});var bo=function(t,e,o,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(i=(a<3?s(i):a>3?s(e,o,i):s(e,o))||i);return a>3&&i&&Object.defineProperty(e,o,i),i},A0=K(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(F)}dateFormatOptionsChanged(n){return n.has("metadataDescriptors")||n.has("useLongDateFormat")||n.has("useDateTimeFormat")||n.has("uiLocale")}getDateFormatter(n){var a,i;return((i=(a=this.metadataDescriptors.find(l=>l.key===n))===null||a===void 0?void 0:a.date)!==null&&i!==void 0?i:!1)?l=>ft.format(l,this.uiLocale,this.useLongDateFormat,this.useDateTimeFormat):void 0}}return bo([L({type:Boolean})],e.prototype,"useLongDateFormat",void 0),bo([L({type:Boolean})],e.prototype,"useDateTimeFormat",void 0),bo([ao({store:F.name,selector:o=>{var n,a;return(a=(n=o.metadataConfiguration)===null||n===void 0?void 0:n.descriptors)!==null&&a!==void 0?a:[]}})],e.prototype,"metadataDescriptors",void 0),bo([ao({store:F.name})],e.prototype,"uiLocale",void 0),e});var yt=class t{static get(e){let{baseUrl:o,apiIntegrationIdentifier:n}=F.getState(),a=e??n;if(o&&a&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(o,a,!0)}static await(e){return new Promise(o=>{let n=t.get(e);if(n)o(n);else{let a=F.subscribe(()=>{n=t.get(e),n&&(a(),o(n))})}})}};var Gt=class{constructor(e){this.overrideApi=e}get api(){var e;return(e=this.overrideApi)!==null&&e!==void 0?e:yt.get()}get awaitApi(){return this.overrideApi?Promise.resolve(this.overrideApi):yt.await()}};var te=class extends Gt{constructor(e=!0,o){var n;super(o),this.sortObjectFields=(i,s)=>typeof s!="object"||s==null||Array.isArray(s)?s:Object.fromEntries(Object.entries(s).sort(([l],[d])=>l.localeCompare(d)));let a=this.constructor;a.commonCache=(n=a.commonCache)!==null&&n!==void 0?n:new xe,this.cache=e?a.commonCache:new xe}clearCache(){this.cache.clearAll()}hash(e){return String(Array.from(JSON.stringify(e,this.sortObjectFields)).reduce((o,n)=>0|31*o+n.charCodeAt(0),0))}};var xo=class extends te{async listMySearches(){let{session:e}=F.getState();return zc(e,j.SAVED_SEARCH_USER)?this.cache.get("my-searches",async()=>(await this.awaitApi).listMySearches(e.profile.userId),5*60*1e3):[]}};var vo=class extends te{async listMyBookmarks(){let e=F.getState().session;return e?.sessionAuthenticated?this.cache.get("my-bookmarks",async()=>(await this.awaitApi).listMyBookmarks(e.profile.userId),5*60*1e3):[]}};var So=class extends te{constructor(){super(...arguments),this.CACHE_DURATION=3*60*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=F.getState().session;return!!e?.sessionAuthenticated}};var Co=class extends te{constructor(){super(...arguments),this.CACHE_DURATION=3*60*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=F.getState().session;return!!e?.sessionAuthenticated}};var Nf="ft-user-assets",Ff={setAssetCount:(t,e)=>{let{userAssetType:o,count:n}=e.payload.assetCount;t.assetCounts.allAsset[o]=n},clearAssetCount:t=>{Object.values(pe).forEach(e=>{t.assetCounts.allAsset[e]=void 0})},setBookmarkCountByMap:(t,e)=>{let o=e.payload.mapId;t.assetCounts.bookmarkByMap[o]=e.payload.count},clearBookmarkCountByMap:t=>{t.assetCounts.bookmarkByMap={}},addAsset:(t,e)=>{let{assetType:o,mapId:n,asset:a}=e.payload;Za(t,o,[...qa(t,o),a]),Yc(t,o,1,n),Jc(t,a)},editAsset:(t,e)=>{let{assetType:o,asset:n}=e.payload;Za(t,o,qa(t,o).map(a=>a.id===n.id?n:a)),Jc(t,n)},removeAsset:(t,e)=>{let{assetType:o,mapId:n,assetId:a}=e.payload;Za(t,o,qa(t,o).filter(i=>i.id!==a)),Yc(t,o,-1,n)}},Xc={[pe.SEARCHES]:"savedSearches",[pe.BOOKMARKS]:"bookmarks",[pe.BOOKS]:void 0,[pe.COLLECTIONS]:void 0},qa=(t,e)=>{var o;let n=Xc[e];return n?(o=t[n])!==null&&o!==void 0?o:[]:[]},Za=(t,e,o)=>{let n=Xc[e];n&&(t[n]=o)},Yc=(t,e,o,n)=>{let a=t.assetCounts.allAsset[e];if(a!==void 0&&(t.assetCounts.allAsset[e]=Math.max(0,a+o),e===pe.BOOKMARKS&&n)){let i=t.assetCounts.bookmarkByMap[n];t.assetCounts.bookmarkByMap[n]=Math.max(0,i+o)}},Jc=(t,e)=>{let o=t.assetLabels.map(a=>a.title),n=e.labels.filter(a=>!o.includes(a)).map(a=>({title:a}));t.assetLabels.push(...n)},se=Ve.get({name:Nf,reducers:Ff,initialState:{savedSearches:void 0,bookmarks:void 0,assetCounts:{allAsset:Object.fromEntries(Object.values(pe).map(t=>[t,void 0])),bookmarkByMap:{}},assetLabels:[]}}),Ya=class{constructor(e=new So,o=new Co){this.assetCountsService=e,this.assetLabelsService=o,this.currentSession=F.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new vo,this.savedSearchesService=new xo,F.subscribe(()=>this.reloadWhenUserSessionChanges())}reloadWhenUserSessionChanges(){var e;let{session:o}=F.getState();ae((e=this.currentSession)===null||e===void 0?void 0:e.profile,o?.profile)||(this.currentSession=o,this.clearMySearches(),this.reloadBookmarks(),this.clearUserAssetCounts(),this.reloadAssetLabels())}clearUserAssetCounts(){this.assetCountsService.clearCache(),se.actions.clearAssetCount(),se.actions.clearBookmarkCountByMap()}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){this.savedSearchesService.clearCache(),se.actions.savedSearches(void 0)}clearMyBookmarks(){this.bookmarksService.clearCache(),se.actions.bookmarks(void 0)}async reloadMySearches(){this.savedSearchesService.clearCache();let e=await this.savedSearchesService.listMySearches();se.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async reloadAssetLabels(){this.assetLabelsService.clearCache();let e=await this.assetLabelsService.getUserAssetLabels();se.actions.assetLabels(e)}async loadAssetCount(e){let o=await this.assetCountsService.getUserAssetCount(e);o&&se.actions.setAssetCount({assetCount:o})}async loadBookmarkByMapId(e){let o=await this.assetCountsService.getUserBookmarkCountByMap(e);o&&se.actions.setBookmarkCountByMap({count:o.count,mapId:e})}async reloadAssetCount(e){this.assetCountsService.clearCache();let o=Object.keys(se.getState().assetCounts.bookmarkByMap).length!==0;e===pe.BOOKMARKS&&o&&se.actions.clearBookmarkCountByMap(),se.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 o=!((e=this.currentSession)===null||e===void 0)&&e.sessionAuthenticated?await this.bookmarksService.listMyBookmarks():void 0;se.actions.bookmarks(o)}}},Df=new Ya;window.FluidTopicsUserAssetsActions==null&&(window.FluidTopicsUserAssetsActions=Df);var Ja=class{addCommand(e,o=!1){F.commands.add(e,o)}consumeCommand(e){return F.commands.consume(e)}};window.FluidTopicsAppInfoStoreService=new Ja;var Qc,jt=class extends CustomEvent{constructor(e){super("ft-i18n-context-loaded",{detail:e})}},Mf=Symbol("clearAfterUnitTest"),Oo=class extends Zr(te){constructor(e){super(),this.messageContextProvider=e,this.defaultMessages={},this.listeners={},this.currentUiLocale="",this[Qc]=()=>{this.defaultMessages={},this.cache=new xe,this.listeners={}},this.currentUiLocale=F.getState().uiLocale,F.subscribe(()=>this.clearWhenUiLocaleChanges())}clearWhenUiLocaleChanges(){let{uiLocale:e}=F.getState();this.currentUiLocale!==e&&(this.currentUiLocale=e,this.cache.clearAll(),this.notifyAll())}addContext(e){let o=e.name.toLowerCase();this.cache.setFinal(o,e),this.notify(o)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(e,o){var n;if(e=e.toLowerCase(),o&&Object.keys(o).length>0){let a={...(n=this.defaultMessages[e])!==null&&n!==void 0?n:{},...o};ae(this.defaultMessages[e],a)||(this.defaultMessages[e]=a,await this.notify(e))}return this.fetchContext(e)}resolveContext(e){var o,n;return this.fetchContext(e),(n=(o=this.cache.getNow(e))===null||o===void 0?void 0:o.messages)!==null&&n!==void 0?n:{}}resolveRawMessage(e,o){let n=e.toLowerCase();return this.resolveContext(n)[o]}resolveMessage(e,o,...n){var a;let i=e.toLowerCase(),s=this.resolveContext(i);return new wr((a=this.defaultMessages[i])!==null&&a!==void 0?a:{},s).resolve(o,...n)}async fetchContext(e){let o=!this.cache.has(e),n;try{n=await this.cache.get(e,()=>this.messageContextProvider(this.currentUiLocale,e)),o&&await this.notify(e)}catch(a){!(a instanceof Ne)&&o&&console.error(a)}return n}subscribe(e,o){var n;return e=e.toLowerCase(),this.listeners[e]=(n=this.listeners[e])!==null&&n!==void 0?n:new Set,this.listeners[e].add(o),()=>{var a;return(a=this.listeners[e])===null||a===void 0?void 0:a.delete(o)}}async notifyAll(){let e=Object.keys(this.listeners);document.body.dispatchEvent(new jt({loadedContexts:e})),this.dispatchEvent(new jt({loadedContexts:e})),await Promise.all(e.map(o=>this.notify(o,!1)))}async notify(e,o=!0){o&&(document.body.dispatchEvent(new jt({loadedContexts:[e]})),this.dispatchEvent(new jt({loadedContexts:[e]}))),this.listeners[e]!=null&&await Promise.all([...this.listeners[e].values()].map(n=>qr(0).then(()=>n()).catch(()=>null)))}};Qc=Mf;window.FluidTopicsI18nService==null&&(window.FluidTopicsI18nService=new class extends Oo{constructor(){super(async(t,e)=>(await this.awaitApi).getFluidTopicsMessageContext(t,e))}});window.FluidTopicsCustomI18nService==null&&(window.FluidTopicsCustomI18nService=new class extends Oo{constructor(){super(async(t,e)=>(await this.awaitApi).getCustomMessageContext(t,e))}});var el=window.FluidTopicsI18nService,dS=window.FluidTopicsCustomI18nService;var Xa=class{highlightHtml(e,o,n){Qn(e,o,n)}};window.FluidTopicsHighlightHtmlService=new Xa;var Qa=class{isDate(e){var o,n,a,i;return(i=(a=((n=(o=F.getState().metadataConfiguration)===null||o===void 0?void 0:o.descriptors)!==null&&n!==void 0?n:[]).find(l=>l.key===e))===null||a===void 0?void 0:a.date)!==null&&i!==void 0?i:!1}format(e,o){var n,a,i,s;if(e==null)return"";try{return ft.format(e,(n=o?.locale)!==null&&n!==void 0?n:F.getState().uiLocale,(a=o?.longFormat)!==null&&a!==void 0?a:!1,(i=o?.withTime)!==null&&i!==void 0?i:!1,(s=o?.onlyTime)!==null&&s!==void 0?s:!1)}catch(l){throw console.error(`Date ${JSON.stringify(e)} is not valid`,l),l}}};window.FluidTopicsDateService=new Qa;var Pr=class{static get(e,o){var n,a;let i=F.getState(),{lang:s,region:l}=(a=(n=i.defaultLocales)===null||n===void 0?void 0:n.defaultContentLocale)!==null&&a!==void 0?a:{lang:"en",region:"US"};return new $t(i.baseUrl,e??20,i.searchInAllLanguagesAllowed,o??`${s}-${l}`)}};var ei=class{urlToSearchRequest(e){return Pr.get().parse(e)}searchRequestToUrl(e){return Pr.get().serialize(e)}};window.FluidTopicsUrlService=new ei;var gt=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:{currentItem:e}})}};gt.eventName="change";var ti=class{itemName(e){return`fluid-topics-history-item-${e}`}get(e){let o=sessionStorage.getItem(this.itemName(e));return o?JSON.parse(o):void 0}set(e,o){sessionStorage.setItem(this.itemName(e),JSON.stringify(o))}},tl=new ti;var Eo=class t extends Ae{static build(){return new t(window.history,tl,()=>window.location,!1)}constructor(e,o,n,a){var i,s;super(),this.history=e,this.historyStorage=o,this.windowLocation=n,this.states=[],this.realPushState=e.pushState,this.realReplaceState=e.replaceState,this.initialIndex=(s=(i=e.state)===null||i===void 0?void 0:i.index)!==null&&s!==void 0?s:e.length-1,this.currentIndex=this.initialIndex,this.setCurrentState(this.buildCurrentState()),this.installProxies(),this.initEventListeners(),this.initData(a)}setCurrentState(e,o=!1){let n=o&&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),ae(this.currentState,this.history.state)||this.realReplaceState.apply(this.history,[this.currentState,this.currentState.title,window.location.href]),setTimeout(()=>this.dispatchEvent(new gt(this.currentItem())),0)}installProxies(){let e=o=>(n,a,[i,s,l])=>{let d=o(),f={...d===this.currentIndex?this.currentState:void 0,...i,index:d,href:typeof l=="string"?l:(l??this.windowLocation()).href};n.apply(a,[f,s,l]),this.setCurrentState(f,!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 o=this.history.length-1;o>=0;o--)e?this.states[o]=this.historyStorage.get(o):setTimeout(()=>this.states[o]=this.historyStorage.get(o),this.history.length-o)}updateCurrentState(e){var o;let n={...this.buildCurrentState(),...e,index:this.currentIndex,title:(o=e?.title)!==null&&o!==void 0?o:this.currentState.title};this.setCurrentState(n)}addHistoryChangeListener(e){this.addEventListener(gt.eventName,e)}removeHistoryChangeListener(e){this.removeEventListener(gt.eventName,e)}currentItem(){return De(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 De(this.states[this.previousDifferentMajorPosition()])}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 De(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 o;let n=(o=this.states[e])===null||o===void 0?void 0:o.majorStateId;if(!n)return e;let a=e,i=e+1;for(;this.states.length>i&&!this.isDifferentMajorState(i,n);)this.hasState(i)&&(a=i),i++;return a}buildCurrentState(){var e,o;return{...this.history.state,index:this.currentIndex,href:this.windowLocation().href,title:(o=(e=this.history.state)===null||e===void 0?void 0:e.title)!==null&&o!==void 0?o:document.title}}hasState(e){return this.states[e]!=null}isDifferentMajorState(e,o){var n;if(!this.hasState(e))return!1;let a=o??this.currentState.majorStateId,i=(n=this.states[e])===null||n===void 0?void 0:n.majorStateId;return i==null||i!=a}};window.FluidTopicsInternalHistoryService==null&&(window.FluidTopicsInternalHistoryService=Eo.build(),window.FluidTopicsHistoryService={currentItem:()=>window.FluidTopicsInternalHistoryService.currentItem(),back:()=>window.FluidTopicsInternalHistoryService.back(),forward:()=>window.FluidTopicsInternalHistoryService.forward(),backwardItem:()=>window.FluidTopicsInternalHistoryService.backwardItem(),forwardItem:()=>window.FluidTopicsInternalHistoryService.forwardItem(),addHistoryChangeListener:t=>window.FluidTopicsInternalHistoryService.addHistoryChangeListener(t),removeHistoryChangeListener:t=>window.FluidTopicsInternalHistoryService.removeHistoryChangeListener(t)});var rl=P`
86
86
  `;function ol(t,e){let{authenticationRequired:o,session:n}=F.getState();return o&&!n?.sessionAuthenticated?Promise.resolve(e):t()}var wo=class extends Gt{async updateUiLocale(e){return(await this.awaitApi).updateUiLocale(e)}};var ri=class t extends Mt{static build(e){return new t(F,e)}constructor(e,o){super(),this.store=e,this.cache=new xe,this.withManualResources=!0,this.localesConfiguration=null,this.userLocaleService=new wo,this.cleanSessionDebouncer=new Re,this.reloadDebouncer=new Re(500),this.apiProvider=o??(()=>yt.get())}setWithManualResources(e){this.withManualResources=e,this.updateIfNeeded()}async initService(){this.store.addEventListener(Wt.eventName,this.reloadConfiguration)}async updateIfNeeded(){this.apiProvider()&&(this.withManualResources||(this.store.getState().session==null&&this.updateSession(),this.store.getState().metadataConfiguration==null&&this.updateMetadataConfiguration()),this.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 o=await this.apiProvider().getCurrentSession();return o.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run(()=>{this.cache.clear("session"),this.setSession(void 0)},o.idleTimeoutInMillis),o});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 o=await this.cache.get("availableContentLocales",()=>ol(()=>this.apiProvider().getAvailableSearchLocales(),{contentLocales:[]}));this.setAvailableContentLocales((e=o.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}setApiIntegrationIdentifier(e){this.store.actions.apiIntegrationIdentifier(e)}setApiIntegrationAppVersion(e){this.store.actions.apiIntegrationAppVersion(e)}setUiLocale(e){this.store.actions.uiLocale(e)}setLocalesConfiguration(e){var o,n,a,i,s;this.localesConfiguration=e,this.store.actions.defaultLocales(this.localesConfiguration.defaultLocales),this.store.actions.availableUiLocales((o=this.localesConfiguration.availableUiLocales)!==null&&o!==void 0?o:[]),this.store.actions.searchInAllLanguagesAllowed((n=this.localesConfiguration.allLanguagesAllowed)!==null&&n!==void 0?n:!1),this.store.actions.searchLanguageSetsUiLanguage((a=this.localesConfiguration.searchLanguageSetsUiLanguage)!==null&&a!==void 0?a:!1),this.store.actions.uiLanguageSetsSearchLanguage((i=this.localesConfiguration.uiLanguageSetsSearchLanguage)!==null&&i!==void 0?i:!1),this.store.actions.uiLanguageSetsReaderLanguage((s=this.localesConfiguration.uiLanguageSetsReaderLanguage)!==null&&s!==void 0?s:!1),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(o=>{o.uiLocaleChanged&&(this.reloadDebouncer.run(()=>window.location.reload()),this.store.dispatchEvent(new kr(o)))}).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)}},oi=ri.build();var X=function(t,e,o,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(i=(a<3?s(i):a>3?s(e,o,i):s(e,o))||i);return a>3&&i&&Object.defineProperty(e,o,i),i},G=class extends ct{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=oi}render(){return re`
87
87
  <slot></slot>
88
88
  `}connectedCallback(){super.connectedCallback(),this.stateManager.initService()}disconnectedCallback(){super.disconnectedCallback()}update(e){var o;super.update(e),e.has("baseUrl")&&this.stateManager.setBaseUrl(this.baseUrl),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=>el.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")&&((o=this.stateManager)===null||o===void 0||o.setWithManualResources(this.withManualResources)),setTimeout(()=>this.stateManager.updateIfNeeded())}};G.elementDefinitions={};G.styles=rl;X([L()],G.prototype,"baseUrl",void 0);X([L()],G.prototype,"apiIntegrationIdentifier",void 0);X([L()],G.prototype,"apiIntegrationAppVersion",void 0);X([L()],G.prototype,"uiLocale",void 0);X([Ue(null)],G.prototype,"availableUiLocales",void 0);X([Ue(null)],G.prototype,"metadataConfiguration",void 0);X([L({type:Boolean})],G.prototype,"editorMode",void 0);X([L({type:Boolean})],G.prototype,"noCustom",void 0);X([L({type:Boolean})],G.prototype,"openExternalDocumentInNewTab",void 0);X([L({converter:{fromAttribute(t){return t==="false"?!1:t==="true"||(t??!1)}}})],G.prototype,"noCustomComponent",void 0);X([L({type:Boolean})],G.prototype,"withManualResources",void 0);X([L({type:Boolean})],G.prototype,"navigatorOnline",void 0);X([L({type:Boolean})],G.prototype,"forcedOffline",void 0);X([L({type:Boolean})],G.prototype,"authenticationRequired",void 0);X([Ue([])],G.prototype,"messageContexts",void 0);X([Ue(void 0)],G.prototype,"session",void 0);Me("ft-app-context")(G);var Ao=class t extends Event{constructor(){super(t.eventName)}};Ao.eventName="search-context-clear-all-filters";var nl=function(t,e,o,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(i=(a<3?s(i):a>3?s(e,o,i):s(e,o))||i);return a>3&&i&&Object.defineProperty(e,o,i),i},ai=class extends Event{constructor(){super("register-ft-search-component",{bubbles:!0,composed:!0})}},al=Symbol("registerInterval"),ni=Symbol("registerAttempts"),Uf=40,Bf=K(Symbol("toFtSearchComponent"),function(t){class e extends t{constructor(){super(...arguments),this.neededSearchRequests=[]}willUpdate(n){var a,i,s;super.willUpdate(n),n.has("neededSearchRequests")&&((a=this.stateManager)===null||a===void 0||a.unregisterComponent(this,(i=n.get("neededSearchRequests"))!==null&&i!==void 0?i:[]),(s=this.stateManager)===null||s===void 0||s.registerComponent(this,this.neededSearchRequests))}setSearchStateManager(n){this.clearStateManager(),this.stateManager=n,this.stateManager.registerComponent(this,this.neededSearchRequests),this.addStore(n.store,"search")}clearStateManager(){this.stateManager&&(this.stateManager.unregisterComponent(this,this.neededSearchRequests),this.removeStore(this.stateManager.store),this.stateManager=void 0)}connectedCallback(){super.connectedCallback(),this[ni]=0,this.tryToRegisterToContext(),this[al]=window.setInterval(()=>this.tryToRegisterToContext(),50)}tryToRegisterToContext(){this.stateManager!=null||this[ni]>Uf?window.clearInterval(this[al]):(this[ni]++,this.dispatchEvent(new ai))}disconnectedCallback(){super.disconnectedCallback(),this.clearStateManager()}}return nl([oe()],e.prototype,"stateManager",void 0),nl([oe({hasChanged:we})],e.prototype,"neededSearchRequests",void 0),e}),Ro=class extends Bf(ct){};var To=function(t,e,o,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(i=(a<3?s(i):a>3?s(e,o,i):s(e,o))||i);return a>3&&i&&Object.defineProperty(e,o,i),i},si=class extends Event{constructor(){super("register-ft-search-result-component",{bubbles:!0,composed:!0})}},ii=Symbol("registerInterval"),$f=K(Symbol("toFtSearchResultComponent"),function(t){var e;class o extends t{constructor(){super(...arguments),this[e]=0}setResultStateManager(a){this.resultStateManager=a}unregisterResultStateManager(){this.resultStateManager&&(this.resultStateManager.unregisterComponent(this),this.resultStateManager=void 0)}connectedCallback(){super.connectedCallback(),this[ii]=window.setInterval(()=>this.tryToRegisterToResultContext(),50)}tryToRegisterToResultContext(){this.result!=null?window.clearInterval(this[ii]):this.dispatchEvent(new si)}disconnectedCallback(){super.disconnectedCallback(),this.unregisterResultStateManager()}}return e=ii,To([L({attribute:!1})],o.prototype,"cluster",void 0),To([L({attribute:!1})],o.prototype,"result",void 0),To([Yr()],o.prototype,"rank",void 0),To([L({attribute:!1,type:Boolean})],o.prototype,"openResultInNewTab",void 0),o}),Io=class extends $f(Ro){};var Hf={highlightBackgroundColor:r.create("--ft-sra-highlight-background-color","","COLOR","transparent")},il=P`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-search-result-abstract",
3
- "version": "2.0.23",
3
+ "version": "2.0.25",
4
4
  "description": "Search result abstract for integrated search component",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,13 +19,13 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-search-result-context": "2.0.23",
23
- "@fluid-topics/ft-typography": "2.0.23",
24
- "@fluid-topics/ft-wc-utils": "2.0.23",
22
+ "@fluid-topics/ft-search-result-context": "2.0.25",
23
+ "@fluid-topics/ft-typography": "2.0.25",
24
+ "@fluid-topics/ft-wc-utils": "2.0.25",
25
25
  "lit": "3.1.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@fluid-topics/public-api": "1.0.122"
29
29
  },
30
- "gitHead": "e441ae21f5027730992e39b7dc728ac0f7b17dc0"
30
+ "gitHead": "f7582c9f28ac8fb59807834b4cbdcf09144478cf"
31
31
  }