@fluid-topics/ft-reader-context 2.0.25 → 2.0.26
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.
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
`)===0?O.substr(1,O.length):O}).forEach(function(O){var _=O.split(":"),T=_.shift().trim();if(T){var qe=_.join(":").trim();try{f.append(T,qe)}catch(Dt){console.warn("Response "+Dt.message)}}}),f}S.call(L.prototype);function B(l,f){if(!(this instanceof B))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(f||(f={}),this.type="default",this.status=f.status===void 0?200:f.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=f.statusText===void 0?"":""+f.statusText,this.headers=new h(f.headers),this.url=f.url||"",this._initBody(l)}S.call(B.prototype),B.prototype.clone=function(){return new B(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},B.error=function(){var l=new B(null,{status:200,statusText:""});return l.ok=!1,l.status=0,l.type="error",l};var de=[301,302,303,307,308];B.redirect=function(l,f){if(de.indexOf(f)===-1)throw new RangeError("Invalid status code");return new B(null,{status:f,headers:{location:l}})},r.DOMException=n.DOMException;try{new r.DOMException}catch{r.DOMException=function(f,b){this.message=f,this.name=b;var O=Error(f);this.stack=O.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function Te(l,f){return new Promise(function(b,O){var _=new L(l,f);if(_.signal&&_.signal.aborted)return O(new r.DOMException("Aborted","AbortError"));var T=new XMLHttpRequest;function qe(){T.abort()}T.onload=function(){var N={statusText:T.statusText,headers:le(T.getAllResponseHeaders()||"")};_.url.indexOf("file://")===0&&(T.status<200||T.status>599)?N.status=200:N.status=T.status,N.url="responseURL"in T?T.responseURL:N.headers.get("X-Request-URL");var fe="response"in T?T.response:T.responseText;setTimeout(function(){b(new B(fe,N))},0)},T.onerror=function(){setTimeout(function(){O(new TypeError("Network request failed"))},0)},T.ontimeout=function(){setTimeout(function(){O(new TypeError("Network request timed out"))},0)},T.onabort=function(){setTimeout(function(){O(new r.DOMException("Aborted","AbortError"))},0)};function Dt(N){try{return N===""&&n.location.href?n.location.href:N}catch{return N}}if(T.open(_.method,Dt(_.url),!0),_.credentials==="include"?T.withCredentials=!0:_.credentials==="omit"&&(T.withCredentials=!1),"responseType"in T&&(i.blob?T.responseType="blob":i.arrayBuffer&&(T.responseType="arraybuffer")),f&&typeof f.headers=="object"&&!(f.headers instanceof h||n.Headers&&f.headers instanceof n.Headers)){var yr=[];Object.getOwnPropertyNames(f.headers).forEach(function(N){yr.push(c(N)),T.setRequestHeader(N,u(f.headers[N]))}),_.headers.forEach(function(N,fe){yr.indexOf(fe)===-1&&T.setRequestHeader(fe,N)})}else _.headers.forEach(function(N,fe){T.setRequestHeader(fe,N)});_.signal&&(_.signal.addEventListener("abort",qe),T.onreadystatechange=function(){T.readyState===4&&_.signal.removeEventListener("abort",qe)}),T.send(typeof _._bodyInit>"u"?null:_._bodyInit)})}return Te.polyfill=!0,n.fetch||(n.fetch=Te,n.Headers=h,n.Request=L,n.Response=B),r.Headers=h,r.Request=L,r.Response=B,r.fetch=Te,r}({})})(We);We.fetch.ponyfill=!0;delete We.fetch.polyfill;var Ce=ze.fetch?ze:We;ne=Ce.fetch;ne.default=Ce.fetch;ne.fetch=Ce.fetch;ne.Headers=Ce.Headers;ne.Request=Ce.Request;ne.Response=Ce.Response;wr.exports=ne});var Ei=w(k());var Ke=w(we()),Se=w(he()),P=w(k());var Ne;(function(t){t.clusteringHelperCreated="clustering-helper-created",t.mapAttachmentsUpdate="map-attachments-update",t.visibleTopicChange="visible-topic-change"})(Ne||(Ne={}));var Z;(function(t){t.FEEDBACK="FEEDBACK",t.RATING="RATING",t.PRINT="PRINT",t.BOOKMARK="BOOKMARK",t.COLLECTIONS="COLLECTIONS",t.PERSONAL_BOOKS="PERSONAL_BOOKS"})(Z||(Z={}));var H=w(k());var Sr=w(k()),Ii={setTranslationDestinationLanguage:(t,e)=>{t.translation.destinationLanguage=e.payload},setTranslationSourceLanguage:(t,e)=>{t.translation.sourceLanguage=e.payload},setTranslationProfileId:(t,e)=>{t.translation.profileId=e.payload},setTranslationLoading:(t,e)=>{t.translation.isLoading=e.payload},setTranslationError:(t,e)=>{t.translation.isError=e.payload},setTopicsRating:(t,e)=>{for(let r in e.payload)t.topicsRating[r]=e.payload[r]}},Tr=t=>Sr.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,renderedTopics:[],visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0,searchInDocumentQuery:void 0,relatives:void 0,mapRating:void 0,topicsRating:{},translation:{sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1},linkPreviewDialogId:void 0},reducers:Ii});var Pt=class{constructor(e,r){this.mapId=e,this.paginatedToc=r,this.nodeByTocId={},this.nodeByUrl={},this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,nodeByUrl:this.nodeByUrl,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId,translationError:this.paginatedToc.translationError}}extractPagesToc(e,r,n){return e.flatMap(i=>{var a;return i.pageConfiguration&&this.registerPage(this.buildPage(i,n)),i.tocId==null?this.extractPagesToc(i.children,r,n):[{tocId:i.tocId,title:(a=i.title)!==null&&a!==void 0?a:"",untranslatedTitle:i.untranslatedTitle,depth:r,children:this.extractPagesToc(i.children,r+1,i.tocId)}]})}convertNodes(e,r,n){return e.flatMap(i=>{var a,s,o;if(i.tocId==null)return[...this.convertSectionNodes((a=i.pageToc)!==null&&a!==void 0?a:[],r,i.tocId),...this.convertNodes(i.children,r,i.tocId)];let c=(s=i.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),u={tocId:i.tocId,contentId:i.contentId,title:i.title,untranslatedTitle:i.untranslatedTitle,hasRating:i.hasRating,origin:i.origin,prettyUrl:c,depth:r,parentTocId:n,children:[]};this.register(u);let d=this.convertSectionNodes((o=i.pageToc)!==null&&o!==void 0?o:[],r+1,i.tocId),h=this.convertNodes(i.children,r+1,u.tocId);return u.children=[...d,...h],[u]})}convertSectionNodes(e,r,n){return e.flatMap(i=>{var a;let s=(a=i.prettyUrl)===null||a===void 0?void 0:a.replace(/^\//,""),o={...i,prettyUrl:s,depth:r,parentTocId:n,children:[]};return this.register(o),o.children=this.convertSectionNodes(i.children,r+1,i.tocId),[o]})}buildPage(e,r){var n,i,a,s,o,c;let u={number:this.pages.length+1,title:(n=e.title)!==null&&n!==void 0?n:"",untranslatedTitle:e.untranslatedTitle,rootTocId:(i=e.tocId)!==null&&i!==void 0?i:"root",toc:((a=e.pageToc)!==null&&a!==void 0?a:[]).map(p=>this.nodeByTocId[p.tocId]),topics:[],hiddenTopics:[],breadcrumb:r?this.buildBreadcrumb(this.nodeByTocId[r]):[]},d=(p,m)=>(m?u.topics:u.hiddenTopics).push(p),h=(o=(s=e.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&o!==void 0?o:[];return u.breadcrumb.forEach((p,m)=>{d(p,h[m])}),e.tocId&&d(e.tocId,e.pageConfiguration.isVisible),u.topics.push(...this.tocIds((c=e.pageToc)!==null&&c!==void 0?c:[])),u}registerPage(e){for(let r of[...e.topics,...e.hiddenTopics])this.pageByTocId[r]||(this.pageByTocId[r]=e);this.pages.push(e)}tocIds(e){return e.flatMap(r=>[r.tocId,...this.tocIds(r.children)])}buildBreadcrumb(e){let r=[e.tocId];for(;e?.parentTocId;)r.unshift(e.parentTocId),e=this.nodeByTocId[e.parentTocId];return r}register(e){e.prettyUrl&&(this.nodeByUrl[e.prettyUrl]==null?this.nodeByUrl[e.prettyUrl]=e:this.duplicatedPrettyUrls.add(e.prettyUrl)),this.nodeByUrl[`${this.mapId}/${e.tocId}`]=e,this.nodeByTocId[e.tocId]=e}},$e=class{convertPaginatedToc(e,r){return new Pt(e,r).build()}};var _i=w(Cr(),1);var Or;(function(t){t.black="black",t.green="green",t.blue="blue",t.purple="purple",t.red="red",t.orange="orange",t.yellow="yellow"})(Or||(Or={}));var xr;(function(t){t.OFFICIAL="OFFICIAL",t.PERSONAL="PERSONAL",t.SHARED="SHARED"})(xr||(xr={}));var Ir;(function(t){t.STRUCTURED_DOCUMENT="STRUCTURED_DOCUMENT",t.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT",t.SHARED_PERSONAL_BOOK="SHARED_PERSONAL_BOOK",t.PERSONAL_BOOK="PERSONAL_BOOK",t.ATTACHMENT="ATTACHMENT",t.RESOURCE="RESOURCE",t.HTML_PACKAGE="HTML_PACKAGE"})(Ir||(Ir={}));var Rr;(function(t){t.STRUCTURED_DOCUMENT="STRUCTURED_DOCUMENT",t.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT",t.SHARED_PERSONAL_BOOK="SHARED_PERSONAL_BOOK",t.PERSONAL_BOOK="PERSONAL_BOOK",t.ATTACHMENT="ATTACHMENT",t.RESOURCE="RESOURCE",t.HTML_PACKAGE="HTML_PACKAGE"})(Rr||(Rr={}));var _r;(function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_QUARTER="LAST_QUARTER",t.LAST_YEAR="LAST_YEAR"})(_r||(_r={}));var Mr;(function(t){t.VALUE="VALUE",t.DATE="DATE",t.RANGE="RANGE"})(Mr||(Mr={}));var Qe;(function(t){t.OFFICIAL="OFFICIAL",t.AI="AI"})(Qe||(Qe={}));var Dr;(function(t){t.BOOKMARK__CREATE="BOOKMARK__CREATE",t.BOOKMARK__DELETE="BOOKMARK__DELETE",t.CASE_DEFLECTION__START="CASE_DEFLECTION__START",t.CASE_DEFLECTION__OPEN_TICKET="CASE_DEFLECTION__OPEN_TICKET",t.CASE_DEFLECTION__RATE="CASE_DEFLECTION__RATE",t.CHATBOT__RATE="CHATBOT__RATE",t.COLLECTION__CREATE="COLLECTION__CREATE",t.COLLECTION__UPDATE="COLLECTION__UPDATE",t.COLLECTION__DELETE="COLLECTION__DELETE",t.CUSTOM_EVENT__TRIGGER="CUSTOM_EVENT__TRIGGER",t.DOCUMENT__ON_DEMAND_TRANSLATE="DOCUMENT__ON_DEMAND_TRANSLATE",t.DOCUMENT__DOWNLOAD="DOCUMENT__DOWNLOAD",t.DOCUMENT__PRINT="DOCUMENT__PRINT",t.DOCUMENT__PROCESS="DOCUMENT__PROCESS",t.DOCUMENT__RATE="DOCUMENT__RATE",t.DOCUMENT__SEARCH="DOCUMENT__SEARCH",t.DOCUMENT__START_DISPLAY="DOCUMENT__START_DISPLAY",t.DOCUMENT__UNRATE="DOCUMENT__UNRATE",t.FEEDBACK__SEND="FEEDBACK__SEND",t.AI__COMPLETED_QUERY="AI__COMPLETED_QUERY",t.AI__RATE="AI__RATE",t.AI_CASE_DEFLECTION__START="AI_CASE_DEFLECTION__START",t.AI_CASE_DEFLECTION__OPEN_TICKET="AI_CASE_DEFLECTION__OPEN_TICKET",t.KHUB__PROCESS="KHUB__PROCESS",t.KHUB__SEARCH="KHUB__SEARCH",t.LABELS__DOWNLOAD="LABELS__DOWNLOAD",t.LINK__SHARE="LINK__SHARE",t.PAGE__DISPLAY="PAGE__DISPLAY",t.PERSONAL_BOOK__CREATE="PERSONAL_BOOK__CREATE",t.PERSONAL_BOOK__DELETE="PERSONAL_BOOK__DELETE",t.PERSONAL_BOOK__UPDATE="PERSONAL_BOOK__UPDATE",t.PERSONAL_TOPIC__CREATE="PERSONAL_TOPIC__CREATE",t.PERSONAL_TOPIC__UPDATE="PERSONAL_TOPIC__UPDATE",t.PERSONAL_TOPIC__DELETE="PERSONAL_TOPIC__DELETE",t.SAVED_SEARCH__CREATE="SAVED_SEARCH__CREATE",t.SAVED_SEARCH__DELETE="SAVED_SEARCH__DELETE",t.SAVED_SEARCH__UPDATE="SAVED_SEARCH__UPDATE",t.SEARCH_PAGE__SELECT="SEARCH_PAGE__SELECT",t.SEARCH_RESULT__OPEN_BROWSER_CONTEXT_MENU="SEARCH_RESULT__OPEN_BROWSER_CONTEXT_MENU",t.TOPIC__AI_TRANSLATE="TOPIC__AI_TRANSLATE",t.TOPIC__RATE="TOPIC__RATE",t.TOPIC__START_DISPLAY="TOPIC__START_DISPLAY",t.TOPIC__UNRATE="TOPIC__UNRATE",t.USER__LOGIN="USER__LOGIN",t.USER__LOGOUT="USER__LOGOUT",t.HEARTBEAT="HEARTBEAT"})(Dr||(Dr={}));var Pr;(function(t){t.STANDARD="STANDARD",t.STRUCTURAL="STRUCTURAL"})(Pr||(Pr={}));var Lr;(function(t){t.THIRD_PARTY="THIRD_PARTY",t.OFF_THE_GRID="OFF_THE_GRID",t.CONTENT_PACKAGER="CONTENT_PACKAGER",t.PAGES="PAGES",t.DESIGNED_READER="DESIGNED_READER"})(Lr||(Lr={}));var Nr;(function(t){t.HOMEPAGE="HOMEPAGE",t.CUSTOM="CUSTOM",t.HEADER="HEADER",t.READER="READER",t.TOPIC_TEMPLATE="TOPIC_TEMPLATE",t.SEARCH="SEARCH",t.SEARCH_RESULT="SEARCH_RESULT",t.SEARCH_ANNOUNCEMENT="SEARCH_ANNOUNCEMENT",t.LINK_PREVIEW="LINK_PREVIEW",t.UD_VIEWER="UD_VIEWER",t.ASSET_VIEWER="ASSET_VIEWER"})(Nr||(Nr={}));var kr;(function(t){t.CLASSIC="CLASSIC",t.CUSTOM="CUSTOM",t.DESIGNER="DESIGNER"})(kr||(kr={}));var Ur;(function(t){t.AND="AND",t.OR="OR",t.MONOVALUED="MONOVALUED"})(Ur||(Ur={}));var Fr;(function(t){t.NONE="NONE",t.ALPHABET="ALPHABET",t.VERSION="VERSION"})(Fr||(Fr={}));var jr;(function(t){t.STARS="STARS",t.LIKE="LIKE",t.DICHOTOMOUS="DICHOTOMOUS",t.NO_RATING="NO_RATING"})(jr||(jr={}));var Br;(function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_QUARTER="LAST_QUARTER",t.LAST_YEAR="LAST_YEAR",t.CUSTOM="CUSTOM"})(Br||(Br={}));var Hr;(function(t){t.OPTIONAL="OPTIONAL",t.MANDATORY="MANDATORY"})(Hr||(Hr={}));var Vr;(function(t){t.ASC="ASC",t.DESC="DESC"})(Vr||(Vr={}));var Kr;(function(t){t.ALPHA="ALPHA",t.NATURAL="NATURAL"})(Kr||(Kr={}));var qr;(function(t){t.EVERYWHERE="EVERYWHERE",t.TITLE_ONLY="TITLE_ONLY",t.NONE="NONE"})(qr||(qr={}));var Gr;(function(t){t.ARTICLE="ARTICLE",t.BOOK="BOOK",t.SHARED_BOOK="SHARED_BOOK",t.HTML_PACKAGE="HTML_PACKAGE"})(Gr||(Gr={}));var $r;(function(t){t.FLUIDTOPICS="FLUIDTOPICS",t.EXTERNAL="EXTERNAL"})($r||($r={}));var zr;(function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.PERSONAL_BOOK="PERSONAL_BOOK",t.SHARED_BOOK="SHARED_BOOK",t.HTML_PACKAGE="HTML_PACKAGE"})(zr||(zr={}));var Wr;(function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_QUARTER="LAST_QUARTER",t.LAST_YEAR="LAST_YEAR"})(Wr||(Wr={}));var Qr;(function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.HTML_PACKAGE="HTML_PACKAGE",t.HTML_PACKAGE_PAGE="HTML_PACKAGE_PAGE"})(Qr||(Qr={}));var Xr;(function(t){t.DEFAULT="DEFAULT",t.DOCUMENTS="DOCUMENTS",t.ALL_TOPICS="ALL_TOPICS",t.TOPICS_AND_UNSTRUCTURED_DOCUMENTS="TOPICS_AND_UNSTRUCTURED_DOCUMENTS"})(Xr||(Xr={}));var Yr;(function(t){t.PLAIN_TEXT="PLAIN_TEXT",t.LOCALIZED_OFFICIAL="LOCALIZED_OFFICIAL",t.LOCALIZED_CUSTOM="LOCALIZED_CUSTOM"})(Yr||(Yr={}));var x;(function(t){t.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",t.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",t.HTML_EXPORT_USER="HTML_EXPORT_USER",t.PDF_EXPORT_USER="PDF_EXPORT_USER",t.SAVED_SEARCH_USER="SAVED_SEARCH_USER",t.COLLECTION_USER="COLLECTION_USER",t.OFFLINE_USER="OFFLINE_USER",t.ANALYTICS_USER="ANALYTICS_USER",t.BETA_USER="BETA_USER",t.DEBUG_USER="DEBUG_USER",t.PRINT_USER="PRINT_USER",t.RATING_USER="RATING_USER",t.FEEDBACK_USER="FEEDBACK_USER",t.GENERATIVE_AI_USER="GENERATIVE_AI_USER",t.GENERATIVE_AI_EXPORT_USER="GENERATIVE_AI_EXPORT_USER",t.CONTENT_PUBLISHER="CONTENT_PUBLISHER",t.BEHAVIOR_DATA_USER="BEHAVIOR_DATA_USER",t.ANNOUNCEMENT_ADMIN="ANNOUNCEMENT_ADMIN",t.KHUB_ADMIN="KHUB_ADMIN",t.USERS_ADMIN="USERS_ADMIN",t.PORTAL_ADMIN="PORTAL_ADMIN",t.ADMIN="ADMIN"})(x||(x={}));var $;(function(t){t.SEARCHES="SEARCHES",t.BOOKMARKS="BOOKMARKS",t.BOOKS="BOOKS",t.COLLECTIONS="COLLECTIONS"})($||($={}));var Jr;(function(t){t.UNAUTHENTICATED="UNAUTHENTICATED",t.USER_INCOMPLETE="USER_INCOMPLETE",t.MFA_REQUIRED="MFA_REQUIRED",t.AUTHENTICATED="AUTHENTICATED"})(Jr||(Jr={}));var Zr;(function(t){t.VALID="VALID",t.INVALID="INVALID"})(Zr||(Zr={}));var en;(function(t){t.INACCURATE="INACCURATE",t.INCOMPLETE="INCOMPLETE",t.OFF_TOPIC="OFF_TOPIC",t.IRRELEVANT_SOURCES="IRRELEVANT_SOURCES",t.SUMMARY="SUMMARY",t.SEMANTIC_SEARCH="SEMANTIC_SEARCH",t.CHATBOT_INSTRUCTIONS="CHATBOT_INSTRUCTIONS",t.OTHER="OTHER"})(en||(en={}));var tn;(function(t){t.INACCURATE="INACCURATE",t.INCOMPLETE="INCOMPLETE",t.OFF_TOPIC="OFF_TOPIC",t.IRRELEVANT_SOURCES="IRRELEVANT_SOURCES",t.SLOW="SLOW",t.OTHER="OTHER"})(tn||(tn={}));var rn;(function(t){t.JSON="JSON",t.TEXT="TEXT"})(rn||(rn={}));var nn;(function(t){t.JSON="JSON",t.TEXT="TEXT"})(nn||(nn={}));var an;(function(t){t.USER="USER",t.ASSISTANT="ASSISTANT"})(an||(an={}));var sn;(function(t){t.TEXT="TEXT",t.HTML="HTML"})(sn||(sn={}));var on;(function(t){t.HTML="HTML",t.MARKDOWN="MARKDOWN"})(on||(on={}));var un;(function(t){t.MAP="MAP",t.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT"})(un||(un={}));var Ri={[x.PERSONAL_BOOK_SHARE_USER]:[x.PERSONAL_BOOK_USER],[x.HTML_EXPORT_USER]:[x.PERSONAL_BOOK_USER],[x.PDF_EXPORT_USER]:[x.PERSONAL_BOOK_USER],[x.KHUB_ADMIN]:[x.CONTENT_PUBLISHER],[x.ADMIN]:[x.KHUB_ADMIN,x.USERS_ADMIN,x.PORTAL_ADMIN,x.BEHAVIOR_DATA_USER],[x.GENERATIVE_AI_EXPORT_USER]:[x.GENERATIVE_AI_USER]};function cn(t,e){return t===e||(Ri[t]??[]).some(r=>cn(r,e))}function ee(t,e){return t==null?!1:(Array.isArray(t)?t:Array.isArray(t.roles)?t.roles:Array.isArray(t.profile?.roles)?t.profile.roles:[]).some(n=>cn(n,e))}var ir=w(he());function Mi(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(t.constructor!==e.constructor)return!1;let r,n,i;if(Array.isArray(t)){if(r=t.length,r!=e.length)return!1;for(n=r;n--!==0;)if(!Xe(t[n],e[n]))return!1;return!0}if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(n of t.entries())if(!e.has(n[0]))return!1;for(n of t.entries())if(!Xe(n[1],e.get(n[0])))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(n of t.entries())if(!e.has(n[0]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();let a=s=>Object.keys(s).filter(o=>s[o]!=null);if(i=a(t),r=i.length,r!==a(e).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(e,i[n]))return!1;for(n=r;n--!==0;){let s=i[n];if(!Xe(t[s],e[s]))return!1}return!0}return t!==t&&e!==e||t==null&&e==null}function Xe(t,e){try{return Mi(t,e)}catch{return!1}}function ke(t,e){return!Xe(t,e)}function ln(t){return typeof window.structuredClone=="function"?structuredClone(t):t!=null?JSON.parse(JSON.stringify(t)):t}function Ye(t,e){let r=n=>n[t]===!0;return n=>{if(r(n))return n;let i=e(n);return i[t]=!0,i}}var dn=w(he(),1);var Lt=t=>{let e=t??{};return(r,n)=>{var i;let a={hasChanged:ke,attribute:!1,...e};(0,dn.property)(a)(r,n);let s=r.constructor;s.reduxProperties=new Map(s.reduxProperties),s.reduxProperties.set(n,{selector:(i=e.selector)!==null&&i!==void 0?i:o=>o[n],store:e.store})}};var Je=class{constructor(){this.queue=[]}add(e,r=!1){r&&this.clear(e.type),this.queue.push(e)}consume(e){let r=this.queue.find(n=>n.type===e);return r&&(this.queue=this.queue.filter(n=>n!==r)),r}clear(e){typeof e=="string"?this.queue=this.queue.filter(r=>r.type!==e):this.queue=this.queue.filter(r=>!e.test(r.type))}};var pe=w(he(),1);var fn=w(he(),1);function hn(t,e){let r=()=>JSON.parse(JSON.stringify(t));return(0,fn.property)({type:Object,converter:{fromAttribute:n=>{if(n==null)return r();try{return JSON.parse(n)}catch{return r()}},toAttribute:n=>JSON.stringify(n)},hasChanged:ke,...e??{}})}var Ze=class{constructor(e=0){this.timeout=e,this.callbacks=[]}run(e,r){return this.callbacks=[e],this.debounce(r)}queue(e,r){return this.callbacks.push(e),this.debounce(r)}cancel(){this.clearTimeout(),this.resolvePromise&&this.resolvePromise(!1),this.clearPromise()}debounce(e){return this.promise==null&&(this.promise=new Promise((r,n)=>{this.resolvePromise=r,this.rejectPromise=n})),this.clearTimeout(),this._debounce=window.setTimeout(()=>this.runCallbacks(),e??this.timeout),this.promise}async runCallbacks(){var e,r;let n=[...this.callbacks];this.callbacks=[];let i=(e=this.rejectPromise)!==null&&e!==void 0?e:()=>null,a=(r=this.resolvePromise)!==null&&r!==void 0?r:()=>null;this.clearPromise();for(let s of n)try{await s()}catch(o){i(o);return}a(!0)}clearTimeout(){this._debounce!=null&&window.clearTimeout(this._debounce)}clearPromise(){this.promise=void 0,this.resolvePromise=void 0,this.rejectPromise=void 0}};var vn=w(we(),1);var et=globalThis,Di=et.ShadowRoot&&(et.ShadyCSS===void 0||et.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,es=Symbol();var pn=(t,e)=>{if(Di)t.adoptedStyleSheets=e.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(let r of e){let n=document.createElement("style"),i=et.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,t.appendChild(n)}};var tt=class extends vn.LitElement{createRenderRoot(){let e=this.constructor;e.elementDefinitions&&!e.registry&&(e.registry=new CustomElementRegistry,Object.entries(e.elementDefinitions).forEach(([i,a])=>e.registry.define(i,a)));let r={...e.shadowRootOptions,customElements:e.registry},n=this.renderOptions.creationScope=this.attachShadow(r);return pn(n,e.elementStyles),n}};function mn(t,e,...r){var n;let i=t.querySelector(e);for(let a of r)i=(n=i?.shadowRoot)===null||n===void 0?void 0:n.querySelector(a);return i}var xe=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 o=t.length-1;o>=0;o--)(s=t[o])&&(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},An,yn=Symbol("constructorPrototype"),gn=Symbol("constructorName"),En=Symbol("exportpartsDebouncer"),bn=Symbol("dynamicDependenciesLoaded"),Oe=class t extends CustomEvent{constructor(){super(t.eventName,{bubbles:!0})}};Oe.eventName="exportparts-updated";var Y=class extends tt{constructor(){super(),this.useAdoptedStyleSheets=!0,this.adoptedCustomStyleSheet=new CSSStyleSheet,this[An]=new Ze(5),this.scheduleExportpartsUpdate=()=>{var e,r,n;(!((e=this.exportpartsPrefix)===null||e===void 0)&&e.trim()||(n=(r=this.exportpartsPrefixes)===null||r===void 0?void 0:r.length)!==null&&n!==void 0&&n)&&this[En].run(()=>{var i,a;!((i=this.exportpartsPrefix)===null||i===void 0)&&i.trim()?this.setExportpartsAttribute([this.exportpartsPrefix]):this.exportpartsPrefixes!=null&&((a=this.exportpartsPrefixes)===null||a===void 0?void 0:a.length)>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)})},this[gn]=this.constructor.name,this[yn]=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this[gn]&&Object.setPrototypeOf(this,this[yn])}connectedCallback(){var e;super.connectedCallback();try{this.shadowRoot&&!this.shadowRoot.adoptedStyleSheets.includes(this.adoptedCustomStyleSheet)&&(this.shadowRoot.adoptedStyleSheets=[...this.shadowRoot.adoptedStyleSheets,this.adoptedCustomStyleSheet]),this.useAdoptedStyleSheets=!0}catch(n){this.useAdoptedStyleSheets=!1,console.error("Cannot use adopted stylesheets",n)}let r=this.constructor;r[bn]||(r[bn]=!0,this.importDynamicDependencies()),(e=this.shadowRoot)===null||e===void 0||e.addEventListener(Oe.eventName,this.scheduleExportpartsUpdate)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.shadowRoot)===null||e===void 0||e.removeEventListener(Oe.eventName,this.scheduleExportpartsUpdate)}importDynamicDependencies(){}updated(e){super.updated(e),this.updateComplete.then(()=>{this.contentAvailableCallback(e),this.focusElementToFocus(e),this.applyCustomStylesheet(e),this.scheduleExportpartsUpdate(),e.has("exportparts")&&this.dispatchEvent(new Oe)})}contentAvailableCallback(e){}focusElementToFocus(e){if(e.has("elementToFocus")&&this.elementToFocus!=null){let{element:r,selector:n,shadowPath:i}=this.elementToFocus;if(n!=null){let a=[...i??[],n];r=mn(this.shadowRoot,...a)}r?.focus(),window.FluidTopicsA11yHints.isKeyboardNavigation||r?.blur(),this.elementToFocus=void 0}}applyCustomStylesheet(e){var r,n,i;if(((n=(r=this.shadowRoot)===null||r===void 0?void 0:r.querySelectorAll(".ft-lit-element--custom-stylesheet"))!==null&&n!==void 0?n:[]).forEach(a=>a.remove()),this.useAdoptedStyleSheets){if(e.has("customStylesheet"))try{this.adoptedCustomStyleSheet.replaceSync((i=this.customStylesheet)!==null&&i!==void 0?i:"")}catch(a){console.error(a,this.customStylesheet),this.useAdoptedStyleSheets=!1}}else if(this.customStylesheet){let a=document.createElement("style");a.classList.add("ft-lit-element--custom-stylesheet"),a.innerHTML=this.customStylesheet,this.shadowRoot.append(a)}}setExportpartsAttribute(e){var r,n,i,a,s,o;let c=p=>p!=null&&p.trim().length>0,u=e.filter(c).map(p=>p.trim());if(u.length===0){this.exportparts=void 0;return}let d=new Set;for(let p of(n=(r=this.shadowRoot)===null||r===void 0?void 0:r.querySelectorAll("[part],[exportparts]"))!==null&&n!==void 0?n:[]){let m=(a=(i=p.getAttribute("part"))===null||i===void 0?void 0:i.split(" "))!==null&&a!==void 0?a:[],v=(o=(s=p.getAttribute("exportparts"))===null||s===void 0?void 0:s.split(",").map(A=>A.split(":")[1]))!==null&&o!==void 0?o:[],y=[...m,...v].filter(c).map(A=>A.trim());for(let A of y)d.add(A)}if(d.size===0){this.exportparts=void 0;return}let h=[...d.values()].flatMap(p=>u.map(m=>`${p}:${m}--${p}`));this.exportparts=[...this.part,...h].join(", ")}};An=En;xe([(0,pe.property)()],Y.prototype,"exportpartsPrefix",void 0);xe([hn([])],Y.prototype,"exportpartsPrefixes",void 0);xe([(0,pe.property)({reflect:!0})],Y.prototype,"exportparts",void 0);xe([(0,pe.property)()],Y.prototype,"customStylesheet",void 0);xe([(0,pe.property)()],Y.prototype,"elementToFocus",void 0);xe([(0,pe.state)()],Y.prototype,"useAdoptedStyleSheets",void 0);function rt(t){var e;return(e=t?.isFtReduxStore)!==null&&e!==void 0?e:!1}var Ue=Symbol("internalReduxEventsUnsubscribers"),ie=Symbol("internalStoresUnsubscribers"),ve=Symbol("internalStores"),Pi=Ye(Symbol("withRedux"),function(t){var e,r,n;class i extends t{constructor(){super(...arguments),this[e]=new Map,this[r]=new Map,this[n]=new Map}get reduxConstructor(){return this.constructor}willUpdate(s){super.willUpdate(s),[...this.reduxConstructor.reduxReactiveProperties].some(o=>s.has(o))&&this.updateFromStores()}getUnnamedStore(){if(this[ve].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[ve].values()][0]}getStore(s){return s==null?this.getUnnamedStore():this[ve].get(s)}addStore(s,o){var c;o=(c=o??s.name)!==null&&c!==void 0?c:"default-store",this.unsubscribeFromStore(o),this[ve].set(o,s),this.subscribeToStore(o,s),this.updateFromStores()}removeStore(s){let o=typeof s=="string"?s:s.name;this.unsubscribeFromStore(o),this[ve].delete(o)}setupStores(){this.unsubscribeFromStores(),this[ve].forEach((s,o)=>this.subscribeToStore(o,s)),this.updateFromStores()}updateFromStores(){this.reduxConstructor.reduxProperties.forEach((s,o)=>{let c=this.constructor.getPropertyOptions(o);if(!c?.attribute||!this.hasAttribute(typeof c?.attribute=="string"?c.attribute:o)){let u=this.getStore(s.store);u&&(s.store?this[ie].has(s.store):this[ie].size>0)&&(this[o]=s.selector(u.getState(),this))}})}subscribeToStore(s,o){var c;this[ie].set(s,o.subscribe(()=>this.updateFromStores())),this[Ue].set(s,[]),rt(o)&&o.eventBus&&((c=this.reduxConstructor.reduxEventListeners)===null||c===void 0||c.forEach((u,d)=>{if(typeof this[d]=="function"&&(!u.store||o.name===u.store)){let h=p=>this[d](p);o.addEventListener(u.eventName,h),this[Ue].get(s).push(()=>o.removeEventListener(u.eventName,h))}})),this.onStoreAvailable(s)}unsubscribeFromStores(){this[ie].forEach((s,o)=>this.unsubscribeFromStore(o))}unsubscribeFromStore(s){var o;this[ie].has(s)&&this[ie].get(s)(),this[ie].delete(s),(o=this[Ue].get(s))===null||o===void 0||o.forEach(c=>c()),this[Ue].delete(s)}onStoreAvailable(s){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}}return e=ie,r=ve,n=Ue,i.reduxProperties=new Map,i.reduxReactiveProperties=new Set,i.reduxEventListeners=new Map,i}),Sn=class extends Pi(Y){};function z(t){for(var e=arguments.length,r=Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];if(0)var i,a;throw Error("[Immer] minified error nr: "+t+(r.length?" "+r.map(function(s){return"'"+s+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function te(t){return!!t&&!!t[R]}function X(t){var e;return!!t&&(function(r){if(!r||typeof r!="object")return!1;var n=Object.getPrototypeOf(r);if(n===null)return!0;var i=Object.hasOwnProperty.call(n,"constructor")&&n.constructor;return i===Object||typeof i=="function"&&Function.toString.call(i)===Hi}(t)||Array.isArray(t)||!!t[Rn]||!!(!((e=t.constructor)===null||e===void 0)&&e[Rn])||Kt(t)||qt(t))}function me(t,e,r){r===void 0&&(r=!1),_e(t)===0?(r?Object.keys:Re)(t).forEach(function(n){r&&typeof n=="symbol"||e(n,t[n],t)}):t.forEach(function(n,i){return e(i,n,t)})}function _e(t){var e=t[R];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:Kt(t)?2:qt(t)?3:0}function Ie(t,e){return _e(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Li(t,e){return _e(t)===2?t.get(e):t[e]}function _n(t,e,r){var n=_e(t);n===2?t.set(e,r):n===3?t.add(r):t[e]=r}function Mn(t,e){return t===e?t!==0||1/t==1/e:t!=t&&e!=e}function Kt(t){return ji&&t instanceof Map}function qt(t){return Bi&&t instanceof Set}function ae(t){return t.o||t.t}function Gt(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=Ln(t);delete e[R];for(var r=Re(e),n=0;n<r.length;n++){var i=r[n],a=e[i];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(e[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),e)}function $t(t,e){return e===void 0&&(e=!1),zt(t)||te(t)||!X(t)||(_e(t)>1&&(t.set=t.add=t.clear=t.delete=Ni),Object.freeze(t),e&&me(t,function(r,n){return $t(n,!0)},!0)),t}function Ni(){z(2)}function zt(t){return t==null||typeof t!="object"||Object.isFrozen(t)}function J(t){var e=Vt[t];return e||z(18,t),e}function ki(t,e){Vt[t]||(Vt[t]=e)}function jt(){return je}function Nt(t,e){e&&(J("Patches"),t.u=[],t.s=[],t.v=e)}function nt(t){Bt(t),t.p.forEach(Ui),t.p=null}function Bt(t){t===je&&(je=t.l)}function Tn(t){return je={p:[],l:je,h:t,m:!0,_:0}}function Ui(t){var e=t[R];e.i===0||e.i===1?e.j():e.g=!0}function kt(t,e){e._=e.p.length;var r=e.p[0],n=t!==void 0&&t!==r;return e.h.O||J("ES5").S(e,t,n),n?(r[R].P&&(nt(e),z(4)),X(t)&&(t=it(e,t),e.l||at(e,t)),e.u&&J("Patches").M(r[R].t,t,e.u,e.s)):t=it(e,r,[]),nt(e),e.u&&e.v(e.u,e.s),t!==Pn?t:void 0}function it(t,e,r){if(zt(e))return e;var n=e[R];if(!n)return me(e,function(o,c){return wn(t,n,e,o,c,r)},!0),e;if(n.A!==t)return e;if(!n.P)return at(t,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var i=n.i===4||n.i===5?n.o=Gt(n.k):n.o,a=i,s=!1;n.i===3&&(a=new Set(i),i.clear(),s=!0),me(a,function(o,c){return wn(t,n,i,o,c,r,s)}),at(t,i,!1),r&&t.u&&J("Patches").N(n,r,t.u,t.s)}return n.o}function wn(t,e,r,n,i,a,s){if(te(i)){var o=it(t,i,a&&e&&e.i!==3&&!Ie(e.R,n)?a.concat(n):void 0);if(_n(r,n,o),!te(o))return;t.m=!1}else s&&r.add(i);if(X(i)&&!zt(i)){if(!t.h.D&&t._<1)return;it(t,i),e&&e.A.l||at(t,i)}}function at(t,e,r){r===void 0&&(r=!1),!t.l&&t.h.D&&t.m&&$t(e,r)}function Ut(t,e){var r=t[R];return(r?ae(r):t)[e]}function Cn(t,e){if(e in t)for(var r=Object.getPrototypeOf(t);r;){var n=Object.getOwnPropertyDescriptor(r,e);if(n)return n;r=Object.getPrototypeOf(r)}}function se(t){t.P||(t.P=!0,t.l&&se(t.l))}function Ft(t){t.o||(t.o=Gt(t.t))}function Ht(t,e,r){var n=Kt(e)?J("MapSet").F(e,r):qt(e)?J("MapSet").T(e,r):t.O?function(i,a){var s=Array.isArray(i),o={i:s?1:0,A:a?a.A:jt(),P:!1,I:!1,R:{},l:a,t:i,k:null,o:null,j:null,C:!1},c=o,u=Be;s&&(c=[o],u=Fe);var d=Proxy.revocable(c,u),h=d.revoke,p=d.proxy;return o.k=p,o.j=h,p}(e,r):J("ES5").J(e,r);return(r?r.A:jt()).p.push(n),n}function Fi(t){return te(t)||z(22,t),function e(r){if(!X(r))return r;var n,i=r[R],a=_e(r);if(i){if(!i.P&&(i.i<4||!J("ES5").K(i)))return i.t;i.I=!0,n=On(r,a),i.I=!1}else n=On(r,a);return me(n,function(s,o){i&&Li(i.t,s)===o||_n(n,s,e(o))}),a===3?new Set(n):n}(t)}function On(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Gt(t)}function Dn(){function t(s,o){var c=a[s];return c?c.enumerable=o:a[s]=c={configurable:!0,enumerable:o,get:function(){var u=this[R];return Be.get(u,s)},set:function(u){var d=this[R];Be.set(d,s,u)}},c}function e(s){for(var o=s.length-1;o>=0;o--){var c=s[o][R];if(!c.P)switch(c.i){case 5:n(c)&&se(c);break;case 4:r(c)&&se(c)}}}function r(s){for(var o=s.t,c=s.k,u=Re(c),d=u.length-1;d>=0;d--){var h=u[d];if(h!==R){var p=o[h];if(p===void 0&&!Ie(o,h))return!0;var m=c[h],v=m&&m[R];if(v?v.t!==p:!Mn(m,p))return!0}}var y=!!o[R];return u.length!==Re(o).length+(y?0:1)}function n(s){var o=s.k;if(o.length!==s.t.length)return!0;var c=Object.getOwnPropertyDescriptor(o,o.length-1);if(c&&!c.get)return!0;for(var u=0;u<o.length;u++)if(!o.hasOwnProperty(u))return!0;return!1}function i(s){s.g&&z(3,JSON.stringify(ae(s)))}var a={};ki("ES5",{J:function(s,o){var c=Array.isArray(s),u=function(h,p){if(h){for(var m=Array(p.length),v=0;v<p.length;v++)Object.defineProperty(m,""+v,t(v,!0));return m}var y=Ln(p);delete y[R];for(var A=Re(y),E=0;E<A.length;E++){var S=A[E];y[S]=t(S,h||!!y[S].enumerable)}return Object.create(Object.getPrototypeOf(p),y)}(c,s),d={i:c?5:4,A:o?o.A:jt(),P:!1,I:!1,R:{},l:o,t:s,k:u,o:null,g:!1,C:!1};return Object.defineProperty(u,R,{value:d,writable:!0}),u},S:function(s,o,c){c?te(o)&&o[R].A===s&&e(s.p):(s.u&&function u(d){if(d&&typeof d=="object"){var h=d[R];if(h){var p=h.t,m=h.k,v=h.R,y=h.i;if(y===4)me(m,function(C){C!==R&&(p[C]!==void 0||Ie(p,C)?v[C]||u(m[C]):(v[C]=!0,se(h)))}),me(p,function(C){m[C]!==void 0||Ie(m,C)||(v[C]=!1,se(h))});else if(y===5){if(n(h)&&(se(h),v.length=!0),m.length<p.length)for(var A=m.length;A<p.length;A++)v[A]=!1;else for(var E=p.length;E<m.length;E++)v[E]=!0;for(var S=Math.min(m.length,p.length),I=0;I<S;I++)m.hasOwnProperty(I)||(v[I]=!0),v[I]===void 0&&u(m[I])}}}}(s.p[0]),e(s.p))},K:function(s){return s.i===4?r(s):n(s)}})}var xn,je,Wt=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",ji=typeof Map<"u",Bi=typeof Set<"u",In=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Pn=Wt?Symbol.for("immer-nothing"):((xn={})["immer-nothing"]=!0,xn),Rn=Wt?Symbol.for("immer-draftable"):"__$immer_draftable",R=Wt?Symbol.for("immer-state"):"__$immer_state";var Hi=""+Object.prototype.constructor,Re=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Ln=Object.getOwnPropertyDescriptors||function(t){var e={};return Re(t).forEach(function(r){e[r]=Object.getOwnPropertyDescriptor(t,r)}),e},Vt={},Be={get:function(t,e){if(e===R)return t;var r=ae(t);if(!Ie(r,e))return function(i,a,s){var o,c=Cn(a,s);return c?"value"in c?c.value:(o=c.get)===null||o===void 0?void 0:o.call(i.k):void 0}(t,r,e);var n=r[e];return t.I||!X(n)?n:n===Ut(t.t,e)?(Ft(t),t.o[e]=Ht(t.A.h,n,t)):n},has:function(t,e){return e in ae(t)},ownKeys:function(t){return Reflect.ownKeys(ae(t))},set:function(t,e,r){var n=Cn(ae(t),e);if(n?.set)return n.set.call(t.k,r),!0;if(!t.P){var i=Ut(ae(t),e),a=i?.[R];if(a&&a.t===r)return t.o[e]=r,t.R[e]=!1,!0;if(Mn(r,i)&&(r!==void 0||Ie(t.t,e)))return!0;Ft(t),se(t)}return t.o[e]===r&&(r!==void 0||e in t.o)||Number.isNaN(r)&&Number.isNaN(t.o[e])||(t.o[e]=r,t.R[e]=!0),!0},deleteProperty:function(t,e){return Ut(t.t,e)!==void 0||e in t.t?(t.R[e]=!1,Ft(t),se(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var r=ae(t),n=Reflect.getOwnPropertyDescriptor(r,e);return n&&{writable:!0,configurable:t.i!==1||e!=="length",enumerable:n.enumerable,value:r[e]}},defineProperty:function(){z(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){z(12)}},Fe={};me(Be,function(t,e){Fe[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}}),Fe.deleteProperty=function(t,e){return Fe.set.call(this,t,e,void 0)},Fe.set=function(t,e,r){return Be.set.call(this,t[0],e,r,t[0])};var Vi=function(){function t(r){var n=this;this.O=In,this.D=!0,this.produce=function(i,a,s){if(typeof i=="function"&&typeof a!="function"){var o=a;a=i;var c=n;return function(y){var A=this;y===void 0&&(y=o);for(var E=arguments.length,S=Array(E>1?E-1:0),I=1;I<E;I++)S[I-1]=arguments[I];return c.produce(y,function(C){var L;return(L=a).call.apply(L,[A,C].concat(S))})}}var u;if(typeof a!="function"&&z(6),s!==void 0&&typeof s!="function"&&z(7),X(i)){var d=Tn(n),h=Ht(n,i,void 0),p=!0;try{u=a(h),p=!1}finally{p?nt(d):Bt(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(y){return Nt(d,s),kt(y,d)},function(y){throw nt(d),y}):(Nt(d,s),kt(u,d))}if(!i||typeof i!="object"){if((u=a(i))===void 0&&(u=i),u===Pn&&(u=void 0),n.D&&$t(u,!0),s){var m=[],v=[];J("Patches").M(i,u,m,v),s(m,v)}return u}z(21,i)},this.produceWithPatches=function(i,a){if(typeof i=="function")return function(u){for(var d=arguments.length,h=Array(d>1?d-1:0),p=1;p<d;p++)h[p-1]=arguments[p];return n.produceWithPatches(u,function(m){return i.apply(void 0,[m].concat(h))})};var s,o,c=n.produce(i,a,function(u,d){s=u,o=d});return typeof Promise<"u"&&c instanceof Promise?c.then(function(u){return[u,s,o]}):[c,s,o]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze)}var e=t.prototype;return e.createDraft=function(r){X(r)||z(8),te(r)&&(r=Fi(r));var n=Tn(this),i=Ht(this,r,void 0);return i[R].C=!0,Bt(n),i},e.finishDraft=function(r,n){var i=r&&r[R],a=i.A;return Nt(a,n),kt(void 0,a)},e.setAutoFreeze=function(r){this.D=r},e.setUseProxies=function(r){r&&!In&&z(20),this.O=r},e.applyPatches=function(r,n){var i;for(i=n.length-1;i>=0;i--){var a=n[i];if(a.path.length===0&&a.op==="replace"){r=a.value;break}}i>-1&&(n=n.slice(i+1));var s=J("Patches").$;return te(r)?s(r,n):this.produce(r,function(o){return s(o,n)})},t}(),K=new Vi,Ki=K.produce,vs=K.produceWithPatches.bind(K),ms=K.setAutoFreeze.bind(K),ys=K.setUseProxies.bind(K),gs=K.applyPatches.bind(K),bs=K.createDraft.bind(K),As=K.finishDraft.bind(K),st=Ki;function ye(t){"@babel/helpers - typeof";return ye=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ye(t)}function Nn(t,e){if(ye(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(ye(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function kn(t){var e=Nn(t,"string");return ye(e)=="symbol"?e:e+""}function Un(t,e,r){return(e=kn(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Fn(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Qt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Fn(Object(r),!0).forEach(function(n){Un(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Fn(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function U(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var jn=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}(),Xt=function(){return Math.random().toString(36).substring(7).split("").join(".")},ot={INIT:"@@redux/INIT"+Xt(),REPLACE:"@@redux/REPLACE"+Xt(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Xt()}};function qi(t){if(typeof t!="object"||t===null)return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Yt(t,e,r){var n;if(typeof e=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(U(0));if(typeof e=="function"&&typeof r>"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(U(1));return r(Yt)(t,e)}if(typeof t!="function")throw new Error(U(2));var i=t,a=e,s=[],o=s,c=!1;function u(){o===s&&(o=s.slice())}function d(){if(c)throw new Error(U(3));return a}function h(y){if(typeof y!="function")throw new Error(U(4));if(c)throw new Error(U(5));var A=!0;return u(),o.push(y),function(){if(A){if(c)throw new Error(U(6));A=!1,u();var S=o.indexOf(y);o.splice(S,1),s=null}}}function p(y){if(!qi(y))throw new Error(U(7));if(typeof y.type>"u")throw new Error(U(8));if(c)throw new Error(U(9));try{c=!0,a=i(a,y)}finally{c=!1}for(var A=s=o,E=0;E<A.length;E++){var S=A[E];S()}return y}function m(y){if(typeof y!="function")throw new Error(U(10));i=y,p({type:ot.REPLACE})}function v(){var y,A=h;return y={subscribe:function(S){if(typeof S!="object"||S===null)throw new Error(U(11));function I(){S.next&&S.next(d())}I();var C=A(I);return{unsubscribe:C}}},y[jn]=function(){return this},y}return p({type:ot.INIT}),n={dispatch:p,subscribe:h,getState:d,replaceReducer:m},n[jn]=v,n}function Gi(t){Object.keys(t).forEach(function(e){var r=t[e],n=r(void 0,{type:ot.INIT});if(typeof n>"u")throw new Error(U(12));if(typeof r(void 0,{type:ot.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(U(13))})}function Bn(t){for(var e=Object.keys(t),r={},n=0;n<e.length;n++){var i=e[n];typeof t[i]=="function"&&(r[i]=t[i])}var a=Object.keys(r),s,o;try{Gi(r)}catch(c){o=c}return function(u,d){if(u===void 0&&(u={}),o)throw o;if(0)var h;for(var p=!1,m={},v=0;v<a.length;v++){var y=a[v],A=r[y],E=u[y],S=A(E,d);if(typeof S>"u"){var I=d&&d.type;throw new Error(U(14))}m[y]=S,p=p||S!==E}return p=p||a.length!==Object.keys(u).length,p?m:u}}function Me(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return e.length===0?function(n){return n}:e.length===1?e[0]:e.reduce(function(n,i){return function(){return n(i.apply(void 0,arguments))}})}function Hn(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(n){return function(){var i=n.apply(void 0,arguments),a=function(){throw new Error(U(15))},s={getState:i.getState,dispatch:function(){return a.apply(void 0,arguments)}},o=e.map(function(c){return c(s)});return a=Me.apply(void 0,o)(i.dispatch),Qt(Qt({},i),{},{dispatch:a})}}}function Vn(t){var e=function(n){var i=n.dispatch,a=n.getState;return function(s){return function(o){return typeof o=="function"?o(i,a,t):s(o)}}};return e}var Kn=Vn();Kn.withExtraArgument=Vn;var Jt=Kn;var Wn=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function n(){this.constructor=e}e.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),$i=function(t,e){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(u){return function(d){return c([u,d])}}function c(u){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,i&&(a=u[0]&2?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[u[0]&2,a.value]),u[0]){case 0:case 1:a=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,i=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(a=r.trys,!(a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){r=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]<a[3])){r.label=u[1];break}if(u[0]===6&&r.label<a[1]){r.label=a[1],a=u;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(u);break}a[2]&&r.ops.pop(),r.trys.pop();continue}u=e.call(t,r)}catch(d){u=[6,d],i=0}finally{n=a=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},De=function(t,e){for(var r=0,n=e.length,i=t.length;r<n;r++,i++)t[i]=e[r];return t},zi=Object.defineProperty,Wi=Object.defineProperties,Qi=Object.getOwnPropertyDescriptors,qn=Object.getOwnPropertySymbols,Xi=Object.prototype.hasOwnProperty,Yi=Object.prototype.propertyIsEnumerable,Gn=function(t,e,r){return e in t?zi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r},oe=function(t,e){for(var r in e||(e={}))Xi.call(e,r)&&Gn(t,r,e[r]);if(qn)for(var n=0,i=qn(e);n<i.length;n++){var r=i[n];Yi.call(e,r)&&Gn(t,r,e[r])}return t},Zt=function(t,e){return Wi(t,Qi(e))},Ji=function(t,e,r){return new Promise(function(n,i){var a=function(c){try{o(r.next(c))}catch(u){i(u)}},s=function(c){try{o(r.throw(c))}catch(u){i(u)}},o=function(c){return c.done?n(c.value):Promise.resolve(c.value).then(a,s)};o((r=r.apply(t,e)).next())})};var Zi=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Me:Me.apply(null,arguments)},Fs=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(t){return t}};function ea(t){if(typeof t!="object"||t===null)return!1;var e=Object.getPrototypeOf(t);if(e===null)return!0;for(var r=e;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return e===r}function ue(t,e){function r(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];if(e){var a=e.apply(void 0,n);if(!a)throw new Error("prepareAction did not return an object");return oe(oe({type:t,payload:a.payload},"meta"in a&&{meta:a.meta}),"error"in a&&{error:a.error})}return{type:t,payload:n[0]}}return r.toString=function(){return""+t},r.type=t,r.match=function(n){return n.type===t},r}var ta=function(t){Wn(e,t);function e(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var i=t.apply(this,r)||this;return Object.setPrototypeOf(i,e.prototype),i}return Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return t.prototype.concat.apply(this,r)},e.prototype.prepend=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return r.length===1&&Array.isArray(r[0])?new(e.bind.apply(e,De([void 0],r[0].concat(this)))):new(e.bind.apply(e,De([void 0],r.concat(this))))},e}(Array),ra=function(t){Wn(e,t);function e(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var i=t.apply(this,r)||this;return Object.setPrototypeOf(i,e.prototype),i}return Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return t.prototype.concat.apply(this,r)},e.prototype.prepend=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return r.length===1&&Array.isArray(r[0])?new(e.bind.apply(e,De([void 0],r[0].concat(this)))):new(e.bind.apply(e,De([void 0],r.concat(this))))},e}(Array);function rr(t){return X(t)?st(t,function(){}):t}function na(t){return typeof t=="boolean"}function ia(){return function(e){return aa(e)}}function aa(t){t===void 0&&(t={});var e=t.thunk,r=e===void 0?!0:e,n=t.immutableCheck,i=n===void 0?!0:n,a=t.serializableCheck,s=a===void 0?!0:a,o=t.actionCreatorCheck,c=o===void 0?!0:o,u=new ta;if(r&&(na(r)?u.push(Jt):u.push(Jt.withExtraArgument(r.extraArgument))),0){if(i)var d;if(s)var h;if(c)var p}return u}var er=!0;function Qn(t){var e=ia(),r=t||{},n=r.reducer,i=n===void 0?void 0:n,a=r.middleware,s=a===void 0?e():a,o=r.devTools,c=o===void 0?!0:o,u=r.preloadedState,d=u===void 0?void 0:u,h=r.enhancers,p=h===void 0?void 0:h,m;if(typeof i=="function")m=i;else if(ea(i))m=Bn(i);else throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');var v=s;if(typeof v=="function"&&(v=v(e),!er&&!Array.isArray(v)))throw new Error("when using a middleware builder function, an array of middleware must be returned");if(!er&&v.some(function(C){return typeof C!="function"}))throw new Error("each middleware provided to configureStore must be a function");var y=Hn.apply(void 0,v),A=Me;c&&(A=Zi(oe({trace:!er},typeof c=="object"&&c)));var E=new ra(y),S=E;Array.isArray(p)?S=De([y],p):typeof p=="function"&&(S=p(E));var I=A.apply(void 0,S);return Yt(m,d,I)}function Xn(t){var e={},r=[],n,i={addCase:function(a,s){var o=typeof a=="string"?a:a.type;if(!o)throw new Error("`builder.addCase` cannot be called with an empty action type");if(o in e)throw new Error("`builder.addCase` cannot be called with two reducers for the same action type");return e[o]=s,i},addMatcher:function(a,s){return r.push({matcher:a,reducer:s}),i},addDefaultCase:function(a){return n=a,i}};return t(i),[e,r,n]}function sa(t){return typeof t=="function"}function oa(t,e,r,n){r===void 0&&(r=[]);var i=typeof e=="function"?Xn(e):[e,r,n],a=i[0],s=i[1],o=i[2],c;if(sa(t))c=function(){return rr(t())};else{var u=rr(t);c=function(){return u}}function d(h,p){h===void 0&&(h=c());var m=De([a[p.type]],s.filter(function(v){var y=v.matcher;return y(p)}).map(function(v){var y=v.reducer;return y}));return m.filter(function(v){return!!v}).length===0&&(m=[o]),m.reduce(function(v,y){if(y)if(te(v)){var A=v,E=y(A,p);return E===void 0?v:E}else{if(X(v))return st(v,function(S){return y(S,p)});var E=y(v,p);if(E===void 0){if(v===null)return v;throw Error("A case reducer on a non-draftable value must not return undefined")}return E}return v},h)}return d.getInitialState=c,d}function ua(t,e){return t+"/"+e}function Yn(t){var e=t.name;if(!e)throw new Error("`name` is a required option for createSlice");typeof process<"u";var r=typeof t.initialState=="function"?t.initialState:rr(t.initialState),n=t.reducers||{},i=Object.keys(n),a={},s={},o={};i.forEach(function(d){var h=n[d],p=ua(e,d),m,v;"reducer"in h?(m=h.reducer,v=h.prepare):m=h,a[d]=m,s[p]=m,o[d]=v?ue(p,v):ue(p)});function c(){var d=typeof t.extraReducers=="function"?Xn(t.extraReducers):[t.extraReducers],h=d[0],p=h===void 0?{}:h,m=d[1],v=m===void 0?[]:m,y=d[2],A=y===void 0?void 0:y,E=oe(oe({},p),s);return oa(r,function(S){for(var I in E)S.addCase(I,E[I]);for(var C=0,L=v;C<L.length;C++){var Q=L[C];S.addMatcher(Q.matcher,Q.reducer)}A&&S.addDefaultCase(A)})}var u;return{name:e,reducer:function(d,h){return u||(u=c()),u(d,h)},actions:o,caseReducers:a,getInitialState:function(){return u||(u=c()),u.getInitialState()}}}var ca="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",la=function(t){t===void 0&&(t=21);for(var e="",r=t;r--;)e+=ca[Math.random()*64|0];return e},da=["name","message","stack","code"],tr=function(){function t(e,r){this.payload=e,this.meta=r}return t}(),$n=function(){function t(e,r){this.payload=e,this.meta=r}return t}(),fa=function(t){if(typeof t=="object"&&t!==null){for(var e={},r=0,n=da;r<n.length;r++){var i=n[r];typeof t[i]=="string"&&(e[i]=t[i])}return e}return{message:String(t)}},Vs=function(){function t(e,r,n){var i=ue(e+"/fulfilled",function(d,h,p,m){return{payload:d,meta:Zt(oe({},m||{}),{arg:p,requestId:h,requestStatus:"fulfilled"})}}),a=ue(e+"/pending",function(d,h,p){return{payload:void 0,meta:Zt(oe({},p||{}),{arg:h,requestId:d,requestStatus:"pending"})}}),s=ue(e+"/rejected",function(d,h,p,m,v){return{payload:m,error:(n&&n.serializeError||fa)(d||"Rejected"),meta:Zt(oe({},v||{}),{arg:p,requestId:h,rejectedWithValue:!!m,requestStatus:"rejected",aborted:d?.name==="AbortError",condition:d?.name==="ConditionError"})}}),o=!1,c=typeof AbortController<"u"?AbortController:function(){function d(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return d.prototype.abort=function(){},d}();function u(d){return function(h,p,m){var v=n?.idGenerator?n.idGenerator(d):la(),y=new c,A,E=!1;function S(C){A=C,y.abort()}var I=function(){return Ji(this,null,function(){var C,L,Q,le,B,de,Te;return $i(this,function(l){switch(l.label){case 0:return l.trys.push([0,4,,5]),le=(C=n?.condition)==null?void 0:C.call(n,d,{getState:p,extra:m}),pa(le)?[4,le]:[3,2];case 1:le=l.sent(),l.label=2;case 2:if(le===!1||y.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return E=!0,B=new Promise(function(f,b){return y.signal.addEventListener("abort",function(){return b({name:"AbortError",message:A||"Aborted"})})}),h(a(v,d,(L=n?.getPendingMeta)==null?void 0:L.call(n,{requestId:v,arg:d},{getState:p,extra:m}))),[4,Promise.race([B,Promise.resolve(r(d,{dispatch:h,getState:p,extra:m,requestId:v,signal:y.signal,abort:S,rejectWithValue:function(f,b){return new tr(f,b)},fulfillWithValue:function(f,b){return new $n(f,b)}})).then(function(f){if(f instanceof tr)throw f;return f instanceof $n?i(f.payload,v,d,f.meta):i(f,v,d)})])];case 3:return Q=l.sent(),[3,5];case 4:return de=l.sent(),Q=de instanceof tr?s(null,v,d,de.payload,de.meta):s(de,v,d),[3,5];case 5:return Te=n&&!n.dispatchConditionRejection&&s.match(Q)&&Q.meta.condition,Te||h(Q),[2,Q]}})})}();return Object.assign(I,{abort:S,requestId:v,arg:d,unwrap:function(){return I.then(ha)}})}}return Object.assign(u,{pending:a,rejected:s,fulfilled:i,typePrefix:e})}return t.withTypes=function(){return t},t}();function ha(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}function pa(t){return t!==null&&typeof t=="object"&&typeof t.then=="function"}var Jn="listener",Zn="completed",ei="cancelled",Ks="task-"+ei,qs="task-"+Zn,Gs=Jn+"-"+ei,$s=Jn+"-"+Zn;var nr="listenerMiddleware";var zs=ue(nr+"/add"),Ws=ue(nr+"/removeAll"),Qs=ue(nr+"/remove");var zn,Xs=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:typeof global<"u"?global:globalThis):function(t){return(zn||(zn=Promise.resolve())).then(t).catch(function(e){return setTimeout(function(){throw e},0)})},va=function(t){return function(e){setTimeout(e,t)}},Ys=typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:va(10);Dn();var ma=Ye(Symbol("withEventBus"),function(t,e){return class extends t{constructor(){super(...arguments),this.eventBus=e??document.createElement("span")}addEventListener(r,n,i){this.eventBus.addEventListener(r,n,i)}dispatchEvent(r){return this.eventBus.dispatchEvent(r)}removeEventListener(r,n,i){this.eventBus.removeEventListener(r,n,i)}}}),ut=class extends ma(Object){};window.ftReduxStores||(window.ftReduxStores={});var ti=class t extends ut{static get(e){var r;let n=typeof e=="string"?e:e.name,i=typeof e=="string"?void 0:e,a=window.ftReduxStores[n];if(rt(a))return a;if(i==null)return;let s=Yn({...i,reducers:(r=i.reducers)!==null&&r!==void 0?r:{}}),o=Qn({reducer:(c,u)=>{if(u.type==="CLEAR_FT_REDUX_STORE"){let d=ln(s.getInitialState());for(let h of u.keeping)d[h]=(c??d)[h];return d}else if(typeof u.type=="string"&&u.type.startsWith("DEFAULT_VALUE_SETTER__"))return{...c,...u.overwrites};return s.reducer(c,u)}});return window.ftReduxStores[i.name]=new t(s,o,i.eventBus)}constructor(e,r,n){super(),this.reduxSlice=e,this.reduxStore=r,this.isFtReduxStore=!0,this.commands=new Je;let i=a=>a!=null?JSON.parse(JSON.stringify(a)):a;this.actions=new Proxy(this.reduxSlice.actions,{get:(a,s,o)=>{let c=s,u=a[c];return u?(...d)=>{let h=u(...d.map(i));return this.reduxStore.dispatch(h),h}:d=>{this.setState({[c]:i(d)})}}}),this.eventBus=n??this.eventBus}clear(){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE",keeping:[]})}clearKeeping(...e){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE",keeping:e})}setState(e){this.reduxStore.dispatch({type:"DEFAULT_VALUE_SETTER__"+Object.keys(e).join("_"),overwrites:e})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(e){throw new Error("Not implemented yet.")}subscribe(e){return this.reduxStore.subscribe(e)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}};var ct=class{static format(e,r,n,i,a){return window.moment?window.moment(e).locale(r).format(this.getMomentDateFormat(n,i,!!a)):this.getIntlDateTime(e,r,n,i,!!a)}static getMomentDateFormat(e,r,n){return n?"LT":e?r?"lll":"ll":r?"L LT":"L"}static getIntlDateTime(e,r,n,i,a){let s=typeof e=="string"?new Date(e):e,o=new Intl.DateTimeFormat(r,{dateStyle:n?"medium":"short"}).format(s),c=new Intl.DateTimeFormat(r,{timeStyle:"short"}).format(s);return a?c:i?`${o} ${c}`:o}static getTimezoneAsString(){let e=n=>String(Math.floor(n)).padStart(2,"0"),r=new Date().getTimezoneOffset();return`${r<0?"+":"-"}${e(Math.abs(r)/60)}:${e(Math.abs(r)%60)}`}};var lt=w(k()),ya="ft-app-info",re=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};re.eventName="authentication-change";var He=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:e})}};He.eventName="ui-locale-changed";var ga={session:(t,e)=>{(0,lt.deepEqual)(t.session,e.payload)||(t.session=e.payload,setTimeout(()=>g.dispatchEvent(new re(e.payload)),0))}},g=lt.FtReduxStore.get({name:ya,reducers:ga,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 ri=w(k()),dt=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 o=t.length-1;o>=0;o--)(s=t[o])&&(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},Oo=(0,ri.applyMixinOnce)(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(g)}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(o=>o.key===n))===null||i===void 0?void 0:i.date)!==null&&a!==void 0?a:!1)?o=>ct.format(o,this.uiLocale,this.useLongDateFormat,this.useDateTimeFormat):void 0}}return dt([(0,ir.property)({type:Boolean})],e.prototype,"useLongDateFormat",void 0),dt([(0,ir.property)({type:Boolean})],e.prototype,"useDateTimeFormat",void 0),dt([Lt({store:g.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),dt([Lt({store:g.name})],e.prototype,"uiLocale",void 0),e});var mt=w(k());var ar=w(k());var ge=class t{static get(e){let{baseUrl:r,apiIntegrationIdentifier:n}=g.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=g.subscribe(()=>{n=t.get(e),n&&(i(),r(n))})}})}};var Pe=class{constructor(e){this.overrideApi=e}get api(){var e;return(e=this.overrideApi)!==null&&e!==void 0?e:ge.get()}get awaitApi(){return this.overrideApi?Promise.resolve(this.overrideApi):ge.await()}};var F=class extends Pe{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(([o],[c])=>o.localeCompare(c)));let i=this.constructor;i.commonCache=(n=i.commonCache)!==null&&n!==void 0?n:new ar.CacheRegistry,this.cache=e?i.commonCache:new ar.CacheRegistry}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 ft=class extends F{async listMySearches(){let{session:e}=g.getState();return ee(e,x.SAVED_SEARCH_USER)?this.cache.get("my-searches",async()=>(await this.awaitApi).listMySearches(e.profile.userId),5*60*1e3):[]}};var ht=class extends F{async listMyBookmarks(){let e=g.getState().session;return e?.sessionAuthenticated?this.cache.get("my-bookmarks",async()=>(await this.awaitApi).listMyBookmarks(e.profile.userId),5*60*1e3):[]}};var pt=class extends F{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=g.getState().session;return!!e?.sessionAuthenticated}};var vt=class extends F{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=g.getState().session;return!!e?.sessionAuthenticated}};var ba="ft-user-assets",Aa={setAssetCount:(t,e)=>{let{userAssetType:r,count:n}=e.payload.assetCount;t.assetCounts.allAsset[r]=n},clearAssetCount:t=>{Object.values($).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;or(t,r,[...sr(t,r),i]),ni(t,r,1,n),ii(t,i)},editAsset:(t,e)=>{let{assetType:r,asset:n}=e.payload;or(t,r,sr(t,r).map(i=>i.id===n.id?n:i)),ii(t,n)},removeAsset:(t,e)=>{let{assetType:r,mapId:n,assetId:i}=e.payload;or(t,r,sr(t,r).filter(a=>a.id!==i)),ni(t,r,-1,n)}},ai={[$.SEARCHES]:"savedSearches",[$.BOOKMARKS]:"bookmarks",[$.BOOKS]:void 0,[$.COLLECTIONS]:void 0},sr=(t,e)=>{var r;let n=ai[e];return n?(r=t[n])!==null&&r!==void 0?r:[]:[]},or=(t,e,r)=>{let n=ai[e];n&&(t[n]=r)},ni=(t,e,r,n)=>{let i=t.assetCounts.allAsset[e];if(i!==void 0&&(t.assetCounts.allAsset[e]=Math.max(0,i+r),e===$.BOOKMARKS&&n)){let a=t.assetCounts.bookmarkByMap[n];t.assetCounts.bookmarkByMap[n]=Math.max(0,a+r)}},ii=(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)},q=mt.FtReduxStore.get({name:ba,reducers:Aa,initialState:{savedSearches:void 0,bookmarks:void 0,assetCounts:{allAsset:Object.fromEntries(Object.values($).map(t=>[t,void 0])),bookmarkByMap:{}},assetLabels:[]}}),ur=class{constructor(e=new pt,r=new vt){this.assetCountsService=e,this.assetLabelsService=r,this.currentSession=g.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new ht,this.savedSearchesService=new ft,g.subscribe(()=>this.reloadWhenUserSessionChanges())}reloadWhenUserSessionChanges(){var e;let{session:r}=g.getState();(0,mt.deepEqual)((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(),q.actions.clearAssetCount(),q.actions.clearBookmarkCountByMap()}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){this.savedSearchesService.clearCache(),q.actions.savedSearches(void 0)}clearMyBookmarks(){this.bookmarksService.clearCache(),q.actions.bookmarks(void 0)}async reloadMySearches(){this.savedSearchesService.clearCache();let e=await this.savedSearchesService.listMySearches();q.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async reloadAssetLabels(){this.assetLabelsService.clearCache();let e=await this.assetLabelsService.getUserAssetLabels();q.actions.assetLabels(e)}async loadAssetCount(e){let r=await this.assetCountsService.getUserAssetCount(e);r&&q.actions.setAssetCount({assetCount:r})}async loadBookmarkByMapId(e){let r=await this.assetCountsService.getUserBookmarkCountByMap(e);r&&q.actions.setBookmarkCountByMap({count:r.count,mapId:e})}async reloadAssetCount(e){this.assetCountsService.clearCache();let r=Object.keys(q.getState().assetCounts.bookmarkByMap).length!==0;e===$.BOOKMARKS&&r&&q.actions.clearBookmarkCountByMap(),q.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;q.actions.bookmarks(r)}}},cr=new ur;window.FluidTopicsUserAssetsActions==null&&(window.FluidTopicsUserAssetsActions=cr);var lr=class{addCommand(e,r=!1){g.commands.add(e,r)}consumeCommand(e){return g.commands.consume(e)}};window.FluidTopicsAppInfoStoreService=new lr;var W=w(k());var si,Le=class extends CustomEvent{constructor(e){super("ft-i18n-context-loaded",{detail:e})}},Ea=Symbol("clearAfterUnitTest"),yt=class extends(0,W.withEventBus)(F){constructor(e){super(),this.messageContextProvider=e,this.defaultMessages={},this.listeners={},this.currentUiLocale="",this[si]=()=>{this.defaultMessages={},this.cache=new W.CacheRegistry,this.listeners={}},this.currentUiLocale=g.getState().uiLocale,g.subscribe(()=>this.clearWhenUiLocaleChanges())}clearWhenUiLocaleChanges(){let{uiLocale:e}=g.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};(0,W.deepEqual)(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 W.ParametrizedLabelResolver((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 W.CanceledPromiseError)&&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 Le({loadedContexts:e})),this.dispatchEvent(new Le({loadedContexts:e})),await Promise.all(e.map(r=>this.notify(r,!1)))}async notify(e,r=!0){r&&(document.body.dispatchEvent(new Le({loadedContexts:[e]})),this.dispatchEvent(new Le({loadedContexts:[e]}))),this.listeners[e]!=null&&await Promise.all([...this.listeners[e].values()].map(n=>(0,W.delay)(0).then(()=>n()).catch(()=>null)))}};si=Ea;window.FluidTopicsI18nService==null&&(window.FluidTopicsI18nService=new class extends yt{constructor(){super(async(t,e)=>(await this.awaitApi).getFluidTopicsMessageContext(t,e))}});window.FluidTopicsCustomI18nService==null&&(window.FluidTopicsCustomI18nService=new class extends yt{constructor(){super(async(t,e)=>(await this.awaitApi).getCustomMessageContext(t,e))}});var oi=window.FluidTopicsI18nService,ou=window.FluidTopicsCustomI18nService;var ui=w(k()),dr=class{highlightHtml(e,r,n){(0,ui.highlightHtml)(e,r,n)}};window.FluidTopicsHighlightHtmlService=new dr;var ci=w(k());var fr=class{isDate(e){var r,n,i,a;return(a=(i=((n=(r=g.getState().metadataConfiguration)===null||r===void 0?void 0:r.descriptors)!==null&&n!==void 0?n:[]).find(o=>o.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 ci.DateFormatter.format(e,(n=r?.locale)!==null&&n!==void 0?n:g.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(o){throw console.error(`Date ${JSON.stringify(e)} is not valid`,o),o}}};window.FluidTopicsDateService=new fr;var li=w(k());var Ve=class{static get(e,r){var n,i;let a=g.getState(),{lang:s,region:o}=(i=(n=a.defaultLocales)===null||n===void 0?void 0:n.defaultContentLocale)!==null&&i!==void 0?i:{lang:"en",region:"US"};return new li.SearchPlaceConverter(a.baseUrl,e??20,a.searchInAllLanguagesAllowed,r??`${s}-${o}`)}};var gt=class extends F{async sendDocumentStartDisplayEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send document.start_display event")}async sendTopicStartDisplayEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send topic.start_display event")}async sendKhubSearchEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send khub.search event")}async sendDocumentSearchEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send document.search event")}async sendSearchPageSelectEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send search_page.select event")}async sendSearchResultOpenContextMenuEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send search_result.open_context_menu event")}async sendDocumentOnDemandTranslateEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send document.on_demand_translate event")}async sendTopicAiTranslateEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send topic.ai_translate event")}convertMapToAnalyticsDocument(e){let r;switch(e.editorialType){case"BOOK":r="STRUCTURED_DOCUMENT";break;case"SHARED_BOOK":r="SHARED_PERSONAL_BOOK";break;case"ARTICLE":r="RESOURCE";break;case"HTML_PACKAGE":r="HTML_PACKAGE";break;default:throw new TypeError("Unknown editorial type for map : "+e.editorialType)}return{id:e.id,title:e.title,type:r,metadata:e.metadata}}sortEventArrays(e){let r=Object.entries(e).map(([n,i])=>Array.isArray(i)?[n,i.map(a=>typeof a=="object"&&a!=null&&!Array.isArray(a)?this.sortEventArrays(a):a).sort((a,s)=>typeof a=="object"&&a!==null&&"key"in a?a.key.localeCompare(s.key):typeof a=="string"&&typeof s=="string"?a.localeCompare(s):String(a).localeCompare(String(s)))]:typeof i=="object"&&i!==null?[n,this.sortEventArrays(i)]:[n,i]);return Object.fromEntries(r)}sendEvents(e,r){let n="anything not undefined";return this.cache.get("analytics-event-"+this.hash(e),async()=>(await this.awaitApi).sendEvents(e).then(()=>n).catch(i=>(console.info(r),console.debug(i),n)),1e3)}};var hr=class{urlToSearchRequest(e){return Ve.get().parse(e)}searchRequestToUrl(e){return Ve.get().serialize(e)}};window.FluidTopicsUrlService=new hr;var ce=w(k());var be=class t extends CustomEvent{constructor(e){super(t.eventName,{detail:{currentItem:e}})}};be.eventName="change";var pr=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))}},di=new pr;var bt=class t extends ce.WithEventBus{static build(){return new t(window.history,di,()=>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),(0,ce.deepEqual)(this.currentState,this.history.state)||this.realReplaceState.apply(this.history,[this.currentState,this.currentState.title,window.location.href]),setTimeout(()=>this.dispatchEvent(new be(this.currentItem())),0)}installProxies(){let e=r=>(n,i,[a,s,o])=>{let c=r(),u={...c===this.currentIndex?this.currentState:void 0,...a,index:c,href:typeof o=="string"?o:(o??this.windowLocation()).href};n.apply(i,[u,s,o]),this.setCurrentState(u,!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(be.eventName,e)}removeHistoryChangeListener(e){this.removeEventListener(be.eventName,e)}currentItem(){return(0,ce.deepCopy)(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(0,ce.deepCopy)(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(0,ce.deepCopy)(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=bt.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 fi=w(we());var hi=fi.css`
|
|
3
3
|
`;var mi=w(we()),G=w(he()),Ee=w(k());var Ae=w(k());function pi(t,e){let{authenticationRequired:r,session:n}=g.getState();return r&&!n?.sessionAuthenticated?Promise.resolve(e):t()}var At=class extends Pe{async updateUiLocale(e){return(await this.awaitApi).updateUiLocale(e)}};var vr=class t extends Ae.FtStateManager{static build(e){return new t(g,e)}constructor(e,r){super(),this.store=e,this.cache=new Ae.CacheRegistry,this.withManualResources=!0,this.localesConfiguration=null,this.userLocaleService=new At,this.cleanSessionDebouncer=new Ae.Debouncer,this.reloadDebouncer=new Ae.Debouncer(500),this.apiProvider=r??(()=>ge.get())}setWithManualResources(e){this.withManualResources=e,this.updateIfNeeded()}async initService(){this.store.addEventListener(re.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 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",()=>pi(()=>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}setApiIntegrationIdentifier(e){this.store.actions.apiIntegrationIdentifier(e)}setApiIntegrationAppVersion(e){this.store.actions.apiIntegrationAppVersion(e)}setUiLocale(e){this.store.actions.uiLocale(e)}setLocalesConfiguration(e){var r,n,i,a,s;this.localesConfiguration=e,this.store.actions.defaultLocales(this.localesConfiguration.defaultLocales),this.store.actions.availableUiLocales((r=this.localesConfiguration.availableUiLocales)!==null&&r!==void 0?r:[]),this.store.actions.searchInAllLanguagesAllowed((n=this.localesConfiguration.allLanguagesAllowed)!==null&&n!==void 0?n:!1),this.store.actions.searchLanguageSetsUiLanguage((i=this.localesConfiguration.searchLanguageSetsUiLanguage)!==null&&i!==void 0?i:!1),this.store.actions.uiLanguageSetsSearchLanguage((a=this.localesConfiguration.uiLanguageSetsSearchLanguage)!==null&&a!==void 0?a:!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(r=>{r.uiLocaleChanged&&(this.reloadDebouncer.run(()=>window.location.reload()),this.store.dispatchEvent(new He(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)}},vi=vr.build();var j=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 o=t.length-1;o>=0;o--)(s=t[o])&&(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},M=class extends Ee.FtLitElementRedux{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=vi}render(){return mi.html`
|
|
4
4
|
<slot></slot>
|
|
5
|
-
`}connectedCallback(){super.connectedCallback(),this.stateManager.initService()}disconnectedCallback(){super.disconnectedCallback()}update(e){var r;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=>oi.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())}};M.elementDefinitions={};M.styles=hi;j([(0,G.property)()],M.prototype,"baseUrl",void 0);j([(0,G.property)()],M.prototype,"apiIntegrationIdentifier",void 0);j([(0,G.property)()],M.prototype,"apiIntegrationAppVersion",void 0);j([(0,G.property)()],M.prototype,"uiLocale",void 0);j([(0,Ee.jsonProperty)(null)],M.prototype,"availableUiLocales",void 0);j([(0,Ee.jsonProperty)(null)],M.prototype,"metadataConfiguration",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"editorMode",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"noCustom",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"openExternalDocumentInNewTab",void 0);j([(0,G.property)({converter:{fromAttribute(t){return t==="false"?!1:t==="true"||(t??!1)}}})],M.prototype,"noCustomComponent",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"withManualResources",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"navigatorOnline",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"forcedOffline",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"authenticationRequired",void 0);j([(0,Ee.jsonProperty)([])],M.prototype,"messageContexts",void 0);j([(0,Ee.jsonProperty)(void 0)],M.prototype,"session",void 0);var yi=w(k());(0,yi.customElement)("ft-app-context")(M);var Et=class extends F{get mapId(){return this._mapId}set mapId(e){e!==this._mapId&&this.clear(),this._mapId=e}constructor(e,r,n){super(!1,r),this.converter=e,this._mapId=n,this.initCache()}async withMapId(e){return this._mapId?e(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(e=>this.fetchMap(e))),this.cache.register("enrichedToc",()=>this.withMapId(e=>this.fetchPages(e).then(r=>this.converter.convertPaginatedToc(e,r)))),this.cache.register("ratingSummary",()=>{var e,r;return ee((r=(e=g.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&r!==void 0?r:[],"RATING_USER")?this.withMapId(i=>this.fetchMapRating(i)):Promise.resolve()})}clear(){this.cache.clearMatching(e=>e!=="configuration")}makeCacheKey(e,r){return e+(r?"-destinationLanguage-"+r?.destinationLanguage:"")}getMap(e){return this.cache.get(this.makeCacheKey("map",e),()=>this.fetchMap(this.mapId,e))}getMapNow(e){return this.cache.getNow(this.makeCacheKey("map",e))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(e){return this.cache.get(this.makeCacheKey("enrichedToc",e),()=>this.fetchPages(this.mapId,e).then(r=>this.converter.convertPaginatedToc(this.mapId,r)))}getEnrichedTocNow(e){return this.cache.getNow(this.makeCacheKey("enrichedToc",e))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(e){return(await this.getEnrichedToc(e)).toc}async getPagesToc(e){return(await this.getEnrichedToc(e)).pagesToc}async getTranslationError(e){return(await this.getEnrichedToc(e)).translationError}async getTocNode(e,r){return(await this.getEnrichedToc(r)).nodeByTocId[e]}getTocNodeNow(e,r){var n;return(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.nodeByTocId[e]}getTocNodeNowByUrl(e,r){var n,i;let a=this.getMapNow(r);return a?.prettyUrl==e||`${a?.id}/root`===e?(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.toc[0]:(i=this.getEnrichedTocNow(r))===null||i===void 0?void 0:i.nodeByUrl[e]}async getPage(e,r){let n=await this.getEnrichedToc(r);return n.pages[e-1]||n.pages[0]}async getPageByTocId(e,r){let n=await this.getEnrichedToc(r);return n.pageByTocId[e]||n.pages[0]}getTopicInfo(e){return this.cache.get("topic-"+e.tocId,()=>this.fetchTopicMetadata(e))}getTopicContent(e){return this.cache.get("topic-content-"+e.tocId,()=>this.fetchTopicHTMLContent(e))}getTranslatedTopicContent(e,r){return this.cache.get(this.makeCacheKey("translated-topic-content-"+e.tocId,r),()=>this.fetchTranslatedTopicHTMLContent(e,r))}async getTopicMetadataValue(e,r){let n=this.getTocNodeNow(e);if(!n)return;let i=await this.getTopicInfo(n);return i?.metadata.find(a=>a.key==r)}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(e,r){return this.cache.get("document-relatives-"+e+"-"+r.join("-"),()=>this.fetchRelativesForDocument(e,r))}getRelativesForTopicInMap(e,r,n){return this.cache.get("topic-relatives-"+[e,r,...n].join("-"),()=>this.fetchRelativesForTopicInMap(e,r,n))}getAttachmentDownloadLink(e){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(e).content}?download=true&locationValue=reader`)}getLink(e,r,n){let i=this.getNavigationData(e,r,n),a=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return i.page!=null&&s.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&s.searchParams.set("tocId",i.tocId),i.section!=null&&s.searchParams.set("section",i.section),s.href}getNavigationData(e,r,n,i){var a,s;e=e||"root";let o=this.getEnrichedTocNow(i),c=o?.pageByTocId[e],u=o?.nodeByTocId[e],d=u?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(a=u?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:u?.untranslatedTitle,page:r&&c&&c.number!==r?r:void 0,prettyUrl:d?.replace(/^r\//,""),prettyUrlDuplicated:(s=o?.duplicatedPrettyUrls.has(d??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(e,r,n,i){return await this.getEnrichedToc(i),this.getNavigationData(e,r,n,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(e=>e?.publication)}getTopicRating(e){return this.getRatingSummary().then(r=>{var n;return r?{type:r.topics.type,rating:(n=r.topics)===null||n===void 0?void 0:n.ratings.find(i=>i.tocId===e)}:void 0})}rateMap(e,r){return this.makeRateMapRequest(e,r).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(e,r){return this.makeMapFeedbackRequest(e,r)}rateTopic(e,r,n){return this.makeRateTopicRequest(e,r,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(e){return this.makeUnrateTopicRequest(e).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let e=g.getState().session;e?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(e,r,n){return this.makeTopicFeedbackRequest(e,r,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(e,r){let n=this.getTocNodeNow(e,r),i=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],a=this.getTocNodeNow(n.parentTocId,r);for(;a;)i.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,r);return i}isFeatureAccessible(e,{session:r}){var n;if(!this.isFeatureAvailable(e))return!1;switch(e){case Z.FEEDBACK:return ee(r??[],x.FEEDBACK_USER);case Z.RATING:return ee(r??[],x.RATING_USER);case Z.PRINT:return ee(r??[],x.PRINT_USER);case Z.BOOKMARK:return!!r?.sessionAuthenticated;case Z.COLLECTIONS:return ee(r??[],x.COLLECTION_USER);case Z.PERSONAL_BOOKS:return ee(r??[],x.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var St=class t extends Et{static async build(e){return new t(new $e,void 0,e)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(e,r){let n=await this.api.getMap(e,r);return this.fingerprint=n.fingerprint,n}fetchMapRating(e){return this.api.getMapRating(e)}async fetchPages(e,r){return await this.getMap(r),this.api.getPages(e,this.fingerprint,r)}fetchTopicHTMLContent(e){return this.api.getTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(e,r){return this.api.getTranslatedTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint,r)}fetchTopicMetadata(e){return this.api.getTopic(this.mapId,e.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(e,r){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:e,valueFilter:{negative:!1,values:r}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(e,r,n){let i={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:r,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[e]}}],sort:[],facets:[]};return this.api.search(i)}makeMapFeedbackRequest(e,r){return this.api.sendMapFeedback(this.mapId,e,r)}makeRateMapRequest(e,r){return this.api.rateMap(this.mapId,e,r)}makeRateTopicRequest(e,r,n){return this.api.rateTopic(this.mapId,e,r,n)}makeTopicFeedbackRequest(e,r,n){return this.api.sendTopicFeedback(this.mapId,e,r,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(e){return this.api.unrateTopic(this.mapId,e)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(e){return!0}};var Sa="topicPivot";function gi(t,e){let r=new URL(t);return e?.values.forEach(n=>{r.searchParams.append(Sa,n)}),r.href}var Tt=class t{static build(e,r){return new t(Tr(e.trim()||"context"),r??St.build)}loaded(){return(0,H.waitUntil)(()=>this._loaded)}constructor(e,r,n,i){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new H.Debouncer(10),this.analyticsEventsService=i??new gt,this.initService(r)}async initService(e){return this.service=await e(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(e){e!==this.store.getState().mapId&&(this.store.actions.mapId(e),this.service&&(this.service.mapId=e),await this.reload())}setRenderedTopics(e){this.store.actions.renderedTopics(e)}setVisibleTopics(e){this.store.actions.visibleTopics(e)}async awaitService(){return(0,H.waitFor)(()=>this.service)}async navigateToTopic(e,r,n){await this.loaded();let i=await this.awaitService(),a=await(n!=null?i.getPage(n,this.getTranslationSettings()):i.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(e,a);this.store.actions.scrollTarget({tocId:s,section:r}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,r){var n,i,a;let s=(n=e==="root"?void 0:e)!==null&&n!==void 0?n:r.rootTocId;return r.topics.includes(s)?s:(a=(i=r.topics[0])!==null&&i!==void 0?i:r.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(e){await this.loaded();let n=await(await this.awaitService()).getPage(e,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var e;!((e=this.service)===null||e===void 0)&&e.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var e;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(e=this.service)===null||e===void 0||e.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(e){var r,n,i,a,s;try{e&&this.setTranslationLoading(!0);let o=c=>{throw e&&this.setTranslationError(!0),c};await Promise.all([this.loadConfiguration(),(r=this.service)===null||r===void 0?void 0:r.getMap(e).then(c=>this.store.actions.map(c)).catch(o),(n=this.service)===null||n===void 0?void 0:n.getToc(e).then(c=>this.store.actions.toc(c)).catch(o),(i=this.service)===null||i===void 0?void 0:i.getPagesToc(e).then(c=>this.store.actions.pagesToc(c)).catch(o),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(c=>this.store.actions.paginationConfiguration(c)).catch(o),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(e).then(c=>this.setTranslationError(c))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(o){this.errorHandler&&!(o instanceof H.CanceledPromiseError)&&this.errorHandler(o)}}loadConfiguration(){var e;return(e=this.service)===null||e===void 0?void 0:e.getConfiguration().then(r=>this.store.actions.configuration(r))}reloadConfiguration(){var e;return(e=this.service)===null||e===void 0||e.clearConfiguration(),this.loadConfiguration()}async fetchRelatives(){var e,r;let n=(e=this.store.getState().map)===null||e===void 0?void 0:e.metadata.filter(i=>{var a;return i.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(i=>i.values);if(n!==void 0&&n.length>0){let i=await((r=this.service)===null||r===void 0?void 0:r.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n)),a=i?.results.flatMap(s=>s.entries);this.store.actions.relatives(a)}this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(Ne.clusteringHelperCreated))}createClusteringHelper(){var e,r;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let i=n.find(s=>{var o;return((o=s.map)===null||o===void 0?void 0:o.mapId)==this.store.getState().mapId}),a=(r=(e=g.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&r!==void 0?r:[];return new H.ClusteringHelper(n,i,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(e){var r,n,i;await this.loaded();let a=await(0,H.waitFor)(()=>{var u;return(u=this.store.getState().configuration)===null||u===void 0?void 0:u.relativeTopicPivotMetadata}),s=this.store.getState().mapId,c=await(await this.awaitService()).getRelativesForTopicInMap(s,a,[e]);if(!((i=(n=(r=c?.results)===null||r===void 0?void 0:r[0])===null||n===void 0?void 0:n.entries)===null||i===void 0)&&i[0]){let u=c.results[0].entries[0].topic.tocId;return await this.navigateToTopic(u),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(e){this.store.actions.searchInDocumentQuery(e)}async setTranslationDestinationLanguage(e){this.store.actions.setTranslationDestinationLanguage(e),e&&this.sendDocumentOnDemandTranslateEvent(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(e){this.store.actions.setTranslationSourceLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(e){this.store.actions.setTranslationProfileId(e)}async setTranslationLoading(e){this.store.actions.setTranslationLoading(e)}async setTranslationError(e){this.store.actions.setTranslationError(e)}getTranslationSettings(){var e;let r=this.store.getState();return r.translation.profileId&&r.translation.destinationLanguage?{profileId:r.translation.profileId,destinationLanguage:r.translation.destinationLanguage.code,sourceLanguage:(e=r.map)===null||e===void 0?void 0:e.lang}:void 0}setLinkPreviewDialogId(e){this.store.actions.linkPreviewDialogId(e)}async fetchMapRating(){var e;this.store.actions.mapRating(await((e=this.service)===null||e===void 0?void 0:e.getMapRating()))}async fetchTopicRating(e){var r;let n=await((r=this.service)===null||r===void 0?void 0:r.getTopicRating(e));n&&this.store.actions.setTopicsRating({[e]:n})}registerMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.add(e),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.delete(e),this.updateClusteringHelper()}getAccurateNavigationData(e,r,n){return this.service.getAccurateNavigationData(e,r?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(e){var r;return(r=this.service)===null||r===void 0?void 0:r.buildBreadcrumb(e,this.getTranslationSettings())}fetchTopicContent(e){var r,n;let i=this.getTranslationSettings();return i?(this.sendTopicAiTranslateEvent(i.destinationLanguage,e),(r=this.service)===null||r===void 0?void 0:r.getTranslatedTopicContent(e,i).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content))):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(e)}getTocNode(e){return this.service.getTocNode(e,this.getTranslationSettings())}getPage(e){return this.service.getPage(e,this.getTranslationSettings())}onMapAttachmentsUpdate(){var e;(e=this.service)===null||e===void 0||e.clearMapAttachments(),this.store.dispatchEvent(new Event(Ne.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var r,n,i;this.store.getState().relatives==null&&await this.fetchRelatives();let a=H.ClusteringHelper.findResultWithMetadataValue((r=this.store.getState().relatives)!==null&&r!==void 0?r:[],"ft:locale",e),s=(0,H.accessResultUrl)(a);if(s){let o=this.store.getState().visibleTopics[0],c=(n=this.store.getState().configuration)===null||n===void 0?void 0:n.relativeTopicPivotMetadata;if(c&&o){let u=await((i=this.service)===null||i===void 0?void 0:i.getTopicMetadataValue(o,c));s=gi(s,u)}}return s}sendDocumentOnDemandTranslateEvent(e){let{editorMode:r,apiIntegrationIdentifier:n,apiIntegrationAppVersion:i}=g.getState(),a=this.store.getState(),s=a.map,o=a.translation.profileId;if(!(r||!s||!n||!i||!o))try{let c=this.analyticsEventsService.convertMapToAnalyticsDocument(s);this.analyticsEventsService.sendDocumentOnDemandTranslateEvent({name:"DOCUMENT__ON_DEMAND_TRANSLATE",offline:!1,appName:n,appVersion:i,sourceLanguage:this.parseLanguageToAnalyticsFormat(s.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e.code),profileId:o,document:c,translationOrigin:Qe.AI})}catch(c){console.warn("Failed to send on-demand document translate event:",c)}}sendTopicAiTranslateEvent(e,r){let{editorMode:n,apiIntegrationIdentifier:i,apiIntegrationAppVersion:a}=g.getState(),s=this.store.getState(),o=s.map,c=s.translation.profileId;if(!(n||!o||!i||!a||!c))try{let u=this.buildBreadcrumb(r.tocId);if(!u){console.warn("Failed to build breadcrumb for topic ai translate event");return}let d=this.analyticsEventsService.convertMapToAnalyticsDocument(o);this.analyticsEventsService.sendTopicAiTranslateEvent({name:"TOPIC__AI_TRANSLATE",offline:!1,appName:i,appVersion:a,sourceLanguage:this.parseLanguageToAnalyticsFormat(o.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e),breadcrumb:u.map(h=>({tocId:h.tocId,title:h.title,mapId:o.id,mapTitle:o.title})),document:d,profileId:c})}catch(u){console.warn("Failed to send topic ai translate event:",u)}}parseLanguageToAnalyticsFormat(e){if(!e)return;let r=e.split("-");return r.length===2?{languageCode:r[0],countryCode:r[1]}:{languageCode:r[0],countryCode:""}}};var bi=w(we());var Ai=bi.css`
|
|
5
|
+
`}connectedCallback(){super.connectedCallback(),this.stateManager.initService()}disconnectedCallback(){super.disconnectedCallback()}update(e){var r;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=>oi.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())}};M.elementDefinitions={};M.styles=hi;j([(0,G.property)()],M.prototype,"baseUrl",void 0);j([(0,G.property)()],M.prototype,"apiIntegrationIdentifier",void 0);j([(0,G.property)()],M.prototype,"apiIntegrationAppVersion",void 0);j([(0,G.property)()],M.prototype,"uiLocale",void 0);j([(0,Ee.jsonProperty)(null)],M.prototype,"availableUiLocales",void 0);j([(0,Ee.jsonProperty)(null)],M.prototype,"metadataConfiguration",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"editorMode",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"noCustom",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"openExternalDocumentInNewTab",void 0);j([(0,G.property)({converter:{fromAttribute(t){return t==="false"?!1:t==="true"||(t??!1)}}})],M.prototype,"noCustomComponent",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"withManualResources",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"navigatorOnline",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"forcedOffline",void 0);j([(0,G.property)({type:Boolean})],M.prototype,"authenticationRequired",void 0);j([(0,Ee.jsonProperty)([])],M.prototype,"messageContexts",void 0);j([(0,Ee.jsonProperty)(void 0)],M.prototype,"session",void 0);var yi=w(k());(0,yi.customElement)("ft-app-context")(M);var Et=class extends F{get mapId(){return this._mapId}set mapId(e){e!==this._mapId&&this.clear(),this._mapId=e}constructor(e,r,n){super(!1,r),this.converter=e,this._mapId=n,this.initCache()}async withMapId(e){return this._mapId?e(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(e=>this.fetchMap(e))),this.cache.register("enrichedToc",()=>this.withMapId(e=>this.fetchPages(e).then(r=>this.converter.convertPaginatedToc(e,r)))),this.cache.register("ratingSummary",()=>{var e,r;return ee((r=(e=g.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&r!==void 0?r:[],"RATING_USER")?this.withMapId(i=>this.fetchMapRating(i)):Promise.resolve()})}clear(){this.cache.clearMatching(e=>e!=="configuration")}makeCacheKey(e,r){return e+(r?"-destinationLanguage-"+r?.destinationLanguage:"")}getMap(e){return this.cache.get(this.makeCacheKey("map",e),()=>this.fetchMap(this.mapId,e))}getMapNow(e){return this.cache.getNow(this.makeCacheKey("map",e))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(e){return this.cache.get(this.makeCacheKey("enrichedToc",e),()=>this.fetchPages(this.mapId,e).then(r=>this.converter.convertPaginatedToc(this.mapId,r)))}getEnrichedTocNow(e){return this.cache.getNow(this.makeCacheKey("enrichedToc",e))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(e){return(await this.getEnrichedToc(e)).toc}async getPagesToc(e){return(await this.getEnrichedToc(e)).pagesToc}async getTranslationError(e){return(await this.getEnrichedToc(e)).translationError}async getTocNode(e,r){return(await this.getEnrichedToc(r)).nodeByTocId[e]}getTocNodeNow(e,r){var n;return(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.nodeByTocId[e]}getTocNodeNowByUrl(e,r){var n,i;let a=this.getMapNow(r);return a?.prettyUrl==e||`${a?.id}/root`===e?(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.toc[0]:(i=this.getEnrichedTocNow(r))===null||i===void 0?void 0:i.nodeByUrl[e]}async getPage(e,r){let n=await this.getEnrichedToc(r);return n.pages[e-1]||n.pages[0]}async getPageByTocId(e,r){let n=await this.getEnrichedToc(r);return n.pageByTocId[e]||n.pages[0]}getTopicInfo(e){return this.cache.get("topic-"+e.tocId,()=>this.fetchTopicMetadata(e))}getTopicContent(e){return this.cache.get("topic-content-"+e.tocId,()=>this.fetchTopicHTMLContent(e))}getTranslatedTopicContent(e,r){return this.cache.get(this.makeCacheKey("translated-topic-content-"+e.tocId,r),()=>this.fetchTranslatedTopicHTMLContent(e,r))}async getTopicMetadataValue(e,r){let n=this.getTocNodeNow(e);if(!n)return;let i=await this.getTopicInfo(n);return i?.metadata.find(a=>a.key==r)}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(e,r){return this.cache.get("document-relatives-"+e+"-"+r.join("-"),()=>this.fetchRelativesForDocument(e,r))}getRelativesForTopicInMap(e,r,n){return this.cache.get("topic-relatives-"+[e,r,...n].join("-"),()=>this.fetchRelativesForTopicInMap(e,r,n))}getAttachmentDownloadLink(e){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(e).content}?download=true&locationValue=reader`)}getLink(e,r,n){let i=this.getNavigationData(e,r,n),a=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return i.page!=null&&s.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&s.searchParams.set("tocId",i.tocId),i.section!=null&&s.searchParams.set("section",i.section),s.href}getNavigationData(e,r,n,i){var a,s;e=e||"root";let o=this.getEnrichedTocNow(i),c=o?.pageByTocId[e],u=o?.nodeByTocId[e],d=u?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(a=u?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:u?.untranslatedTitle,page:r&&c&&c.number!==r?r:void 0,prettyUrl:d?.replace(/^r\//,""),prettyUrlDuplicated:(s=o?.duplicatedPrettyUrls.has(d??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(e,r,n,i){return await this.getEnrichedToc(i),this.getNavigationData(e,r,n,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(e=>e?.publication)}getTopicRating(e){return this.getRatingSummary().then(r=>{var n;return r?{type:r.topics.type,rating:(n=r.topics)===null||n===void 0?void 0:n.ratings.find(i=>i.tocId===e)}:void 0})}rateMap(e,r){return this.makeRateMapRequest(e,r).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(e,r){return this.makeMapFeedbackRequest(e,r)}rateTopic(e,r,n){return this.makeRateTopicRequest(e,r,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(e){return this.makeUnrateTopicRequest(e).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let e=g.getState().session;e?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(e,r,n){return this.makeTopicFeedbackRequest(e,r,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(e,r){let n=this.getTocNodeNow(e,r),i=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],a=this.getTocNodeNow(n.parentTocId,r);for(;a;)i.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,r);return i}isFeatureAccessible(e,{session:r}){var n;if(!this.isFeatureAvailable(e))return!1;switch(e){case Z.FEEDBACK:return ee(r??[],x.FEEDBACK_USER);case Z.RATING:return ee(r??[],x.RATING_USER);case Z.PRINT:return ee(r??[],x.PRINT_USER);case Z.BOOKMARK:return!!r?.sessionAuthenticated;case Z.COLLECTIONS:return ee(r??[],x.COLLECTION_USER);case Z.PERSONAL_BOOKS:return ee(r??[],x.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var St=class t extends Et{static async build(e){return new t(new $e,void 0,e)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(e,r){let n=await this.api.getMap(e,r);return this.fingerprint=n.fingerprint,n}fetchMapRating(e){return this.api.getMapRating(e)}async fetchPages(e,r){return await this.getMap(r),this.api.getPages(e,this.fingerprint,r)}fetchTopicHTMLContent(e){return this.api.getTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(e,r){return this.api.getTranslatedTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint,r)}fetchTopicMetadata(e){return this.api.getTopic(this.mapId,e.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(e,r){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:e,valueFilter:{negative:!1,values:r}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(e,r,n){let i={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:r,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[e]}}],sort:[],facets:[]};return this.api.search(i)}makeMapFeedbackRequest(e,r){return this.api.sendMapFeedback(this.mapId,e,r)}makeRateMapRequest(e,r){return this.api.rateMap(this.mapId,e,r)}makeRateTopicRequest(e,r,n){return this.api.rateTopic(this.mapId,e,r,n)}makeTopicFeedbackRequest(e,r,n){return this.api.sendTopicFeedback(this.mapId,e,r,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(e){return this.api.unrateTopic(this.mapId,e)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(e){return!0}};var Sa="topicPivot";function gi(t,e){let r=new URL(t);return e?.values.forEach(n=>{r.searchParams.append(Sa,n)}),r.href}var Tt=class t{static build(e,r){return new t(Tr(e.trim()||"context"),r??St.build)}loaded(){return(0,H.waitUntil)(()=>this._loaded)}constructor(e,r,n,i){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new H.Debouncer(10),this.analyticsEventsService=i??new gt,this.initService(r)}async initService(e){return this.service=await e(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(e){e!==this.store.getState().mapId&&(this.store.actions.mapId(e),this.service&&(this.service.mapId=e),await this.reload())}setRenderedTopics(e){this.store.actions.renderedTopics(e)}setVisibleTopics(e){this.store.actions.visibleTopics(e)}async awaitService(){return(0,H.waitFor)(()=>this.service)}async navigateToTopic(e,r,n){await this.loaded();let i=await this.awaitService(),a=await(n!=null?i.getPage(n,this.getTranslationSettings()):i.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(e,a);this.store.actions.scrollTarget({tocId:s,section:r}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,r){var n,i,a;let s=(n=e==="root"?void 0:e)!==null&&n!==void 0?n:r.rootTocId;return r.topics.includes(s)?s:(a=(i=r.topics[0])!==null&&i!==void 0?i:r.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(e){await this.loaded();let n=await(await this.awaitService()).getPage(e,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var e;!((e=this.service)===null||e===void 0)&&e.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var e;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(e=this.service)===null||e===void 0||e.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(e){var r,n,i,a,s;try{e&&this.setTranslationLoading(!0);let o=c=>{throw e&&this.setTranslationError(!0),c};await Promise.all([this.loadConfiguration(),(r=this.service)===null||r===void 0?void 0:r.getMap(e).then(c=>this.store.actions.map(c)).catch(o),(n=this.service)===null||n===void 0?void 0:n.getToc(e).then(c=>this.store.actions.toc(c)).catch(o),(i=this.service)===null||i===void 0?void 0:i.getPagesToc(e).then(c=>this.store.actions.pagesToc(c)).catch(o),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(c=>this.store.actions.paginationConfiguration(c)).catch(o),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(e).then(c=>this.setTranslationError(c))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(o){this.errorHandler&&!(o instanceof H.CanceledPromiseError)&&this.errorHandler(o)}}loadConfiguration(){var e;return(e=this.service)===null||e===void 0?void 0:e.getConfiguration().then(r=>this.store.actions.configuration(r))}reloadConfiguration(){var e;return(e=this.service)===null||e===void 0||e.clearConfiguration(),this.loadConfiguration()}async fetchRelatives(){var e,r;let n=(e=this.store.getState().map)===null||e===void 0?void 0:e.metadata.filter(i=>{var a;return i.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(i=>i.values);if(n!==void 0&&n.length>0){let i=await((r=this.service)===null||r===void 0?void 0:r.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n)),a=i?.results.flatMap(s=>s.entries);this.store.actions.relatives(a)}this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(Ne.clusteringHelperCreated))}createClusteringHelper(){var e,r;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let i=n.find(s=>{var o;return((o=s.map)===null||o===void 0?void 0:o.mapId)==this.store.getState().mapId}),a=(r=(e=g.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&r!==void 0?r:[];return new H.ClusteringHelper(n,i,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(e){var r,n,i;await this.loaded();let a=await(0,H.waitFor)(()=>{var u;return(u=this.store.getState().configuration)===null||u===void 0?void 0:u.relativeTopicPivotMetadata}),s=this.store.getState().mapId,c=await(await this.awaitService()).getRelativesForTopicInMap(s,a,[e]);if(!((i=(n=(r=c?.results)===null||r===void 0?void 0:r[0])===null||n===void 0?void 0:n.entries)===null||i===void 0)&&i[0]){let u=c.results[0].entries[0].topic.tocId;return await this.navigateToTopic(u),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(e){this.store.actions.searchInDocumentQuery(e)}async setTranslationDestinationLanguage(e){this.store.actions.setTranslationDestinationLanguage(e),e&&this.sendDocumentOnDemandTranslateEvent(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(e){this.store.actions.setTranslationSourceLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(e){this.store.actions.setTranslationProfileId(e)}async setTranslationLoading(e){this.store.actions.setTranslationLoading(e)}async setTranslationError(e){this.store.actions.setTranslationError(e)}getTranslationSettings(){var e;let r=this.store.getState();return r.translation.profileId&&r.translation.destinationLanguage?{profileId:r.translation.profileId,destinationLanguage:r.translation.destinationLanguage.code,sourceLanguage:(e=r.map)===null||e===void 0?void 0:e.lang}:void 0}setLinkPreviewDialogId(e){this.store.actions.linkPreviewDialogId(e)}async fetchMapRating(){var e;this.store.actions.mapRating(await((e=this.service)===null||e===void 0?void 0:e.getMapRating()))}async fetchTopicRating(e){var r;let n=await((r=this.service)===null||r===void 0?void 0:r.getTopicRating(e));n&&this.store.actions.setTopicsRating({[e]:n})}registerMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.add(e),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.delete(e),this.updateClusteringHelper()}getAccurateNavigationData(e,r,n){return this.service.getAccurateNavigationData(e,r?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(e){var r;return(r=this.service)===null||r===void 0?void 0:r.buildBreadcrumb(e,this.getTranslationSettings())}fetchTopicContent(e){var r,n;let i=this.getTranslationSettings();return i?(this.sendTopicAiTranslateEvent(i.destinationLanguage,e),(r=this.service)===null||r===void 0?void 0:r.getTranslatedTopicContent(e,i).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content))):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(e)}getTocNode(e){return this.service.getTocNode(e,this.getTranslationSettings())}getPage(e){return this.service.getPage(e,this.getTranslationSettings())}onMapAttachmentsUpdate(){var e;(e=this.service)===null||e===void 0||e.clearMapAttachments(),this.store.dispatchEvent(new Event(Ne.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var r,n,i;this.store.getState().relatives==null&&await this.fetchRelatives();let a=H.ClusteringHelper.findResultWithMetadataValue((r=this.store.getState().relatives)!==null&&r!==void 0?r:[],"ft:locale",e),s=(0,H.accessResultUrl)(a);if(s){let o=this.store.getState().visibleTopics[0],c=(n=this.store.getState().configuration)===null||n===void 0?void 0:n.relativeTopicPivotMetadata;if(c&&o){let u=await((i=this.service)===null||i===void 0?void 0:i.getTopicMetadataValue(o,c));s=gi(s,u)}}return s}sendDocumentOnDemandTranslateEvent(e){let{editorMode:r,apiIntegrationIdentifier:n,apiIntegrationAppVersion:i}=g.getState(),a=this.store.getState(),s=a.map,o=a.translation.profileId;if(!(r||!s||!n||!i||!o))try{let c=this.analyticsEventsService.convertMapToAnalyticsDocument(s);this.analyticsEventsService.sendDocumentOnDemandTranslateEvent({name:"DOCUMENT__ON_DEMAND_TRANSLATE",offline:!1,appName:n,appVersion:i,sourceLanguage:this.parseLanguageToAnalyticsFormat(s.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e.code),profileId:o,document:c,translationOrigin:Qe.AI})}catch(c){console.warn("Failed to send on-demand document translate event:",c)}}sendTopicAiTranslateEvent(e,r){let{editorMode:n,apiIntegrationIdentifier:i,apiIntegrationAppVersion:a}=g.getState(),s=this.store.getState(),o=s.map,c=s.translation.profileId;if(!(n||!o||!i||!a||!c))try{let u=this.buildBreadcrumb(r.tocId);if(!u){console.warn("Failed to build breadcrumb for topic ai translate event");return}let d=this.analyticsEventsService.convertMapToAnalyticsDocument(o);this.analyticsEventsService.sendTopicAiTranslateEvent({name:"TOPIC__AI_TRANSLATE",offline:!1,appName:i,appVersion:a,sourceLanguage:this.parseLanguageToAnalyticsFormat(o.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e),breadcrumb:u.map(h=>({tocId:h.tocId,title:h.title})),document:d,profileId:c})}catch(u){console.warn("Failed to send topic ai translate event:",u)}}parseLanguageToAnalyticsFormat(e){if(!e)return;let r=e.split("-");return r.length===2?{languageCode:r[0],countryCode:r[1]}:{languageCode:r[0],countryCode:""}}};var bi=w(we());var Ai=bi.css`
|
|
6
6
|
`;var wt=class extends CustomEvent{constructor(e,r){super("ft-reader-map-loaded",{detail:{map:e,toc:r}})}},Ct=class extends CustomEvent{constructor(e,r){super("ft-reader-visible-topics-change",{detail:{visibleTopics:r}})}},Ot=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},xt=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},It=class extends Event{constructor(){super("ft-reader-map-not-found")}},Rt=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},_t=class extends Event{constructor(){super("ft-reader-map-forbidden")}},Mt=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var V=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 o=t.length-1;o>=0;o--)(s=t[o])&&(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},mr=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}},D=class extends P.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new P.Debouncer(5),this.navigationDebouncer=new P.Debouncer(10),this.mapLoadedEventDebouncer=new P.Debouncer(50),this.addStore(g)}render(){return Ke.html`
|
|
7
7
|
${this.importStyleIfNeeded()}
|
|
8
8
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
@@ -85,7 +85,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:o.extend("--ftds-con
|
|
|
85
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 Z([L()],e.prototype,"warningRules",void 0),Z([L()],e.prototype,"errorRules",void 0),Z([L()],e.prototype,"validateOn",void 0),Z([L({type:Boolean})],e.prototype,"validateAtRender",void 0),Z([L()],e.prototype,"label",void 0),Z([L({type:Boolean})],e.prototype,"hideLabel",void 0),Z([L()],e.prototype,"name",void 0),Z([L({type:Boolean})],e.prototype,"disabled",void 0),Z([L()],e.prototype,"helperText",void 0),Z([L()],e.prototype,"forceStatus",void 0),Z([L({reflect:!0})],e.prototype,"value",void 0),Z([xe()],e.prototype,"errorMessages",void 0),Z([xe()],e.prototype,"warningMessages",void 0),Z([xe()],e.prototype,"status",void 0),Z([xe()],e.prototype,"focused",void 0),Z([xe()],e.prototype,"additionalWarningRules",void 0),Z([xe()],e.prototype,"additionalErrorRules",void 0),e});var vr=(r,e)=>{let t=r._$AN;if(t===void 0)return!1;for(let n of t)n._$AO?.(e,!1),vr(n,e);return!0},to=r=>{let e,t;do{if((e=r._$AM)===void 0)break;t=e._$AN,t.delete(r),r=e}while(t?.size===0)},Mc=r=>{for(let e;e=r._$AM;r=e){let t=e._$AN;if(t===void 0)e._$AN=t=new Set;else if(t.has(r))break;t.add(r),tf(e)}};function Qu(r){this._$AN!==void 0?(to(this),this._$AM=r,Mc(this)):this._$AM=r}function ef(r,e=!1,t=0){let n=this._$AH,a=this._$AN;if(a!==void 0&&a.size!==0)if(e)if(Array.isArray(n))for(let i=t;i<n.length;i++)vr(n[i],!1),to(n[i]);else n!=null&&(vr(n,!1),to(n));else vr(this,r)}var tf=r=>{r.type==Se.CHILD&&(r._$AP??=ef,r._$AQ??=Qu)},Wt=class extends le{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),Mc(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(vr(this,e),to(this))}setValue(e){if(ti(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}};var xa=class extends Wt{get element(){var e;return(e=this.part)===null||e===void 0?void 0:e.element}constructor(e){super(e),this.onFirstTrapFocus=async t=>{if(!this.element||!t.relatedTarget)return;let n=t.relatedTarget;this.isInsideElement(n,this.element)?await this.focusLastDescendant(this.element):await this.focusFirstDescendant(this.element)},this.onLastTrapFocus=async t=>{if(!this.element||!t.relatedTarget)return;let n=t.relatedTarget;this.isInsideElement(n,this.element)?await this.focusFirstDescendant(this.element):await this.focusLastDescendant(this.element)}}render(){return j}update(e){return this.part=e,this.ensureFocusTrap(e.element),j}reconnected(){var e;this.ensureFocusTrap((e=this.part)===null||e===void 0?void 0:e.element)}disconnected(){this.removeFocusTrap()}ensureFocusTrap(e){var t,n;this.isElementTrappable(e)&&(((t=this.firstTrap)===null||t===void 0?void 0:t.parentElement)===e&&((n=this.lastTrap)===null||n===void 0?void 0:n.parentElement)===e||(this.removeFocusTrap(),this.createFocusTrap(e)))}removeFocusTrap(){var e,t,n,a;(e=this.firstTrap)===null||e===void 0||e.removeEventListener("focus",this.onFirstTrapFocus),(t=this.lastTrap)===null||t===void 0||t.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 t=this.getChildren(e);for(let n=0;n<t.length;n++){let a=t[n];if(a instanceof HTMLElement&&(this.attemptFocus(a)||await this.focusFirstDescendant(a)))return!0}return!1}async focusLastDescendant(e){await this.updateCompleteIfNecessary(e);let t=this.getChildren(e);for(let n=t.length-1;n>=0;n--){let a=t[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,t){for(let n=e;n;n=n.parentNode){if(n===t)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}},jv=oe(xa);var Dc;(function(r){r.sm="sm",r.md="md",r.lg="lg",r.xl="xl"})(Dc||(Dc={}));var rf={sm:640,md:768,lg:1024,xl:1280},Sa=class extends Wt{constructor(e){super(e),this.size=0,this.onResize=()=>{let t=window.innerWidth;this.size!==t&&(this.size=t,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,[t,n,a]){return this.lastArgs=[t,n,a],this.render(t,n,a)}render(e,t,n){let a=this.resolveThreshold(e),i=n??(()=>H);return this.size>a?t():i()}resolveThreshold(e){return typeof e=="number"?e:rf[e]}},qv=oe(Sa);var Ea,Ca,Oa,wa,of=navigator.vendor&&!!navigator.vendor.match(/apple/i)||((Oa=(Ca=(Ea=window.safari)===null||Ea===void 0?void 0:Ea.pushNotification)===null||Ca===void 0?void 0:Ca.toString())!==null&&Oa!==void 0?Oa:"")==="[object SafariRemoteNotification]",nf="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;window.ftGlobals=(wa=window.ftGlobals)!==null&&wa!==void 0?wa:{lit:Do,litDecorators:Fo,litRepeat:Uo,litClassMap:Bo,litStyleMap:Ho,litUnsafeHTML:$o,wcUtils:{...Jo,...zo,...rn,...pa,...on,...nn,...ln,...Yo,...Cn,...ya,...Pc,...ca,...On,...cn,...Ln,...fa,...Tn,...ba,...ds,...Ko,...kn,...dn,...Nn,...kc,...fs,...Mn,...aa,...ga,...wn,...Rn,...da,...en,isSafari:of,isTouchScreen:nf,setVariable:Ct}};var xr;(function(r){r.clusteringHelperCreated="clustering-helper-created",r.mapAttachmentsUpdate="map-attachments-update",r.visibleTopicChange="visible-topic-change"})(xr||(xr={}));var Ne;(function(r){r.FEEDBACK="FEEDBACK",r.RATING="RATING",r.PRINT="PRINT",r.BOOKMARK="BOOKMARK",r.COLLECTIONS="COLLECTIONS",r.PERSONAL_BOOKS="PERSONAL_BOOKS"})(Ne||(Ne={}));var af={setTranslationDestinationLanguage:(r,e)=>{r.translation.destinationLanguage=e.payload},setTranslationSourceLanguage:(r,e)=>{r.translation.sourceLanguage=e.payload},setTranslationProfileId:(r,e)=>{r.translation.profileId=e.payload},setTranslationLoading:(r,e)=>{r.translation.isLoading=e.payload},setTranslationError:(r,e)=>{r.translation.isError=e.payload},setTopicsRating:(r,e)=>{for(let t in e.payload)r.topicsRating[t]=e.payload[t]}},Fc=r=>Pe.get({name:"ft-reader-"+r,initialState:{mapId:void 0,renderedTopics:[],visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0,searchInDocumentQuery:void 0,relatives:void 0,mapRating:void 0,topicsRating:{},translation:{sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1},linkPreviewDialogId:void 0},reducers:af});var Aa=class{constructor(e,t){this.mapId=e,this.paginatedToc=t,this.nodeByTocId={},this.nodeByUrl={},this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,nodeByUrl:this.nodeByUrl,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId,translationError:this.paginatedToc.translationError}}extractPagesToc(e,t,n){return e.flatMap(a=>{var i;return a.pageConfiguration&&this.registerPage(this.buildPage(a,n)),a.tocId==null?this.extractPagesToc(a.children,t,n):[{tocId:a.tocId,title:(i=a.title)!==null&&i!==void 0?i:"",untranslatedTitle:a.untranslatedTitle,depth:t,children:this.extractPagesToc(a.children,t+1,a.tocId)}]})}convertNodes(e,t,n){return e.flatMap(a=>{var i,s,l;if(a.tocId==null)return[...this.convertSectionNodes((i=a.pageToc)!==null&&i!==void 0?i:[],t,a.tocId),...this.convertNodes(a.children,t,a.tocId)];let d=(s=a.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),f={tocId:a.tocId,contentId:a.contentId,title:a.title,untranslatedTitle:a.untranslatedTitle,hasRating:a.hasRating,origin:a.origin,prettyUrl:d,depth:t,parentTocId:n,children:[]};this.register(f);let h=this.convertSectionNodes((l=a.pageToc)!==null&&l!==void 0?l:[],t+1,a.tocId),p=this.convertNodes(a.children,t+1,f.tocId);return f.children=[...h,...p],[f]})}convertSectionNodes(e,t,n){return e.flatMap(a=>{var i;let s=(i=a.prettyUrl)===null||i===void 0?void 0:i.replace(/^\//,""),l={...a,prettyUrl:s,depth:t,parentTocId:n,children:[]};return this.register(l),l.children=this.convertSectionNodes(a.children,t+1,a.tocId),[l]})}buildPage(e,t){var n,a,i,s,l,d;let f={number:this.pages.length+1,title:(n=e.title)!==null&&n!==void 0?n:"",untranslatedTitle:e.untranslatedTitle,rootTocId:(a=e.tocId)!==null&&a!==void 0?a:"root",toc:((i=e.pageToc)!==null&&i!==void 0?i:[]).map(g=>this.nodeByTocId[g.tocId]),topics:[],hiddenTopics:[],breadcrumb:t?this.buildBreadcrumb(this.nodeByTocId[t]):[]},h=(g,y)=>(y?f.topics:f.hiddenTopics).push(g),p=(l=(s=e.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return f.breadcrumb.forEach((g,y)=>{h(g,p[y])}),e.tocId&&h(e.tocId,e.pageConfiguration.isVisible),f.topics.push(...this.tocIds((d=e.pageToc)!==null&&d!==void 0?d:[])),f}registerPage(e){for(let t of[...e.topics,...e.hiddenTopics])this.pageByTocId[t]||(this.pageByTocId[t]=e);this.pages.push(e)}tocIds(e){return e.flatMap(t=>[t.tocId,...this.tocIds(t.children)])}buildBreadcrumb(e){let t=[e.tocId];for(;e?.parentTocId;)t.unshift(e.parentTocId),e=this.nodeByTocId[e.parentTocId];return t}register(e){e.prettyUrl&&(this.nodeByUrl[e.prettyUrl]==null?this.nodeByUrl[e.prettyUrl]=e:this.duplicatedPrettyUrls.add(e.prettyUrl)),this.nodeByUrl[`${this.mapId}/${e.tocId}`]=e,this.nodeByTocId[e.tocId]=e}},ro=class{convertPaginatedToc(e,t){return new Aa(e,t).build()}};var sf="ft-app-info",Me=class r extends CustomEvent{constructor(e){super(r.eventName,{detail:e})}};Me.eventName="authentication-change";var Sr=class r extends CustomEvent{constructor(e){super(r.eventName,{detail:e})}};Sr.eventName="ui-locale-changed";var cf={session:(r,e)=>{ne(r.session,e.payload)||(r.session=e.payload,setTimeout(()=>_.dispatchEvent(new Me(e.payload)),0))}},_=Pe.get({name:sf,reducers:cf,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 oo=function(r,e,t,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,n);else for(var l=r.length-1;l>=0;l--)(s=r[l])&&(i=(a<3?s(i):a>3?s(e,t,i):s(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i},Y0=X(Symbol("withDateFormat"),function(r){class e extends r{constructor(...n){super(n),this.useLongDateFormat=!1,this.useDateTimeFormat=!1,this.metadataDescriptors=[],this.uiLocale="en-US",this.addStore(_)}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 oo([L({type:Boolean})],e.prototype,"useLongDateFormat",void 0),oo([L({type:Boolean})],e.prototype,"useDateTimeFormat",void 0),oo([fe({store:_.name,selector:t=>{var n,a;return(a=(n=t.metadataConfiguration)===null||n===void 0?void 0:n.descriptors)!==null&&a!==void 0?a:[]}})],e.prototype,"metadataDescriptors",void 0),oo([fe({store:_.name})],e.prototype,"uiLocale",void 0),e});var gt=class r{static get(e){let{baseUrl:t,apiIntegrationIdentifier:n}=_.getState(),a=e??n;if(t&&a&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(t,a,!0)}static await(e){return new Promise(t=>{let n=r.get(e);if(n)t(n);else{let a=_.subscribe(()=>{n=r.get(e),n&&(a(),t(n))})}})}};var zt=class{constructor(e){this.overrideApi=e}get api(){var e;return(e=this.overrideApi)!==null&&e!==void 0?e:gt.get()}get awaitApi(){return this.overrideApi?Promise.resolve(this.overrideApi):gt.await()}};var Y=class extends zt{constructor(e=!0,t){var n;super(t),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 Ee,this.cache=e?a.commonCache:new Ee}clearCache(){this.cache.clearAll()}hash(e){return String(Array.from(JSON.stringify(e,this.sortObjectFields)).reduce((t,n)=>0|31*t+n.charCodeAt(0),0))}};var no=class extends Y{async listMySearches(){let{session:e}=_.getState();return ke(e,$.SAVED_SEARCH_USER)?this.cache.get("my-searches",async()=>(await this.awaitApi).listMySearches(e.profile.userId),5*60*1e3):[]}};var ao=class extends Y{async listMyBookmarks(){let e=_.getState().session;return e?.sessionAuthenticated?this.cache.get("my-bookmarks",async()=>(await this.awaitApi).listMyBookmarks(e.profile.userId),5*60*1e3):[]}};var io=class extends Y{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=_.getState().session;return!!e?.sessionAuthenticated}};var so=class extends Y{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=_.getState().session;return!!e?.sessionAuthenticated}};var lf="ft-user-assets",df={setAssetCount:(r,e)=>{let{userAssetType:t,count:n}=e.payload.assetCount;r.assetCounts.allAsset[t]=n},clearAssetCount:r=>{Object.values(he).forEach(e=>{r.assetCounts.allAsset[e]=void 0})},setBookmarkCountByMap:(r,e)=>{let t=e.payload.mapId;r.assetCounts.bookmarkByMap[t]=e.payload.count},clearBookmarkCountByMap:r=>{r.assetCounts.bookmarkByMap={}},addAsset:(r,e)=>{let{assetType:t,mapId:n,asset:a}=e.payload;Ta(r,t,[...Ra(r,t),a]),Uc(r,t,1,n),Bc(r,a)},editAsset:(r,e)=>{let{assetType:t,asset:n}=e.payload;Ta(r,t,Ra(r,t).map(a=>a.id===n.id?n:a)),Bc(r,n)},removeAsset:(r,e)=>{let{assetType:t,mapId:n,assetId:a}=e.payload;Ta(r,t,Ra(r,t).filter(i=>i.id!==a)),Uc(r,t,-1,n)}},Hc={[he.SEARCHES]:"savedSearches",[he.BOOKMARKS]:"bookmarks",[he.BOOKS]:void 0,[he.COLLECTIONS]:void 0},Ra=(r,e)=>{var t;let n=Hc[e];return n?(t=r[n])!==null&&t!==void 0?t:[]:[]},Ta=(r,e,t)=>{let n=Hc[e];n&&(r[n]=t)},Uc=(r,e,t,n)=>{let a=r.assetCounts.allAsset[e];if(a!==void 0&&(r.assetCounts.allAsset[e]=Math.max(0,a+t),e===he.BOOKMARKS&&n)){let i=r.assetCounts.bookmarkByMap[n];r.assetCounts.bookmarkByMap[n]=Math.max(0,i+t)}},Bc=(r,e)=>{let t=r.assetLabels.map(a=>a.title),n=e.labels.filter(a=>!t.includes(a)).map(a=>({title:a}));r.assetLabels.push(...n)},se=Pe.get({name:lf,reducers:df,initialState:{savedSearches:void 0,bookmarks:void 0,assetCounts:{allAsset:Object.fromEntries(Object.values(he).map(r=>[r,void 0])),bookmarkByMap:{}},assetLabels:[]}}),Ia=class{constructor(e=new io,t=new so){this.assetCountsService=e,this.assetLabelsService=t,this.currentSession=_.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new ao,this.savedSearchesService=new no,_.subscribe(()=>this.reloadWhenUserSessionChanges())}reloadWhenUserSessionChanges(){var e;let{session:t}=_.getState();ne((e=this.currentSession)===null||e===void 0?void 0:e.profile,t?.profile)||(this.currentSession=t,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 t=await this.assetCountsService.getUserAssetCount(e);t&&se.actions.setAssetCount({assetCount:t})}async loadBookmarkByMapId(e){let t=await this.assetCountsService.getUserBookmarkCountByMap(e);t&&se.actions.setBookmarkCountByMap({count:t.count,mapId:e})}async reloadAssetCount(e){this.assetCountsService.clearCache();let t=Object.keys(se.getState().assetCounts.bookmarkByMap).length!==0;e===he.BOOKMARKS&&t&&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 t=!((e=this.currentSession)===null||e===void 0)&&e.sessionAuthenticated?await this.bookmarksService.listMyBookmarks():void 0;se.actions.bookmarks(t)}}},La=new Ia;window.FluidTopicsUserAssetsActions==null&&(window.FluidTopicsUserAssetsActions=La);var _a=class{addCommand(e,t=!1){_.commands.add(e,t)}consumeCommand(e){return _.commands.consume(e)}};window.FluidTopicsAppInfoStoreService=new _a;var $c,Gt=class extends CustomEvent{constructor(e){super("ft-i18n-context-loaded",{detail:e})}},uf=Symbol("clearAfterUnitTest"),co=class extends Fr(Y){constructor(e){super(),this.messageContextProvider=e,this.defaultMessages={},this.listeners={},this.currentUiLocale="",this[$c]=()=>{this.defaultMessages={},this.cache=new Ee,this.listeners={}},this.currentUiLocale=_.getState().uiLocale,_.subscribe(()=>this.clearWhenUiLocaleChanges())}clearWhenUiLocaleChanges(){let{uiLocale:e}=_.getState();this.currentUiLocale!==e&&(this.currentUiLocale=e,this.cache.clearAll(),this.notifyAll())}addContext(e){let t=e.name.toLowerCase();this.cache.setFinal(t,e),this.notify(t)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(e,t){var n;if(e=e.toLowerCase(),t&&Object.keys(t).length>0){let a={...(n=this.defaultMessages[e])!==null&&n!==void 0?n:{},...t};ne(this.defaultMessages[e],a)||(this.defaultMessages[e]=a,await this.notify(e))}return this.fetchContext(e)}resolveContext(e){var t,n;return this.fetchContext(e),(n=(t=this.cache.getNow(e))===null||t===void 0?void 0:t.messages)!==null&&n!==void 0?n:{}}resolveRawMessage(e,t){let n=e.toLowerCase();return this.resolveContext(n)[t]}resolveMessage(e,t,...n){var a;let i=e.toLowerCase(),s=this.resolveContext(i);return new fr((a=this.defaultMessages[i])!==null&&a!==void 0?a:{},s).resolve(t,...n)}async fetchContext(e){let t=!this.cache.has(e),n;try{n=await this.cache.get(e,()=>this.messageContextProvider(this.currentUiLocale,e)),t&&await this.notify(e)}catch(a){!(a instanceof Te)&&t&&console.error(a)}return n}subscribe(e,t){var n;return e=e.toLowerCase(),this.listeners[e]=(n=this.listeners[e])!==null&&n!==void 0?n:new Set,this.listeners[e].add(t),()=>{var a;return(a=this.listeners[e])===null||a===void 0?void 0:a.delete(t)}}async notifyAll(){let e=Object.keys(this.listeners);document.body.dispatchEvent(new Gt({loadedContexts:e})),this.dispatchEvent(new Gt({loadedContexts:e})),await Promise.all(e.map(t=>this.notify(t,!1)))}async notify(e,t=!0){t&&(document.body.dispatchEvent(new Gt({loadedContexts:[e]})),this.dispatchEvent(new Gt({loadedContexts:[e]}))),this.listeners[e]!=null&&await Promise.all([...this.listeners[e].values()].map(n=>Dr(0).then(()=>n()).catch(()=>null)))}};$c=uf;window.FluidTopicsI18nService==null&&(window.FluidTopicsI18nService=new class extends co{constructor(){super(async(r,e)=>(await this.awaitApi).getFluidTopicsMessageContext(r,e))}});window.FluidTopicsCustomI18nService==null&&(window.FluidTopicsCustomI18nService=new class extends co{constructor(){super(async(r,e)=>(await this.awaitApi).getCustomMessageContext(r,e))}});var Wc=window.FluidTopicsI18nService,Nx=window.FluidTopicsCustomI18nService;var Pa=class{highlightHtml(e,t,n){Pn(e,t,n)}};window.FluidTopicsHighlightHtmlService=new Pa;var ka=class{isDate(e){var t,n,a,i;return(i=(a=((n=(t=_.getState().metadataConfiguration)===null||t===void 0?void 0:t.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,t){var n,a,i,s;if(e==null)return"";try{return ft.format(e,(n=t?.locale)!==null&&n!==void 0?n:_.getState().uiLocale,(a=t?.longFormat)!==null&&a!==void 0?a:!1,(i=t?.withTime)!==null&&i!==void 0?i:!1,(s=t?.onlyTime)!==null&&s!==void 0?s:!1)}catch(l){throw console.error(`Date ${JSON.stringify(e)} is not valid`,l),l}}};window.FluidTopicsDateService=new ka;var Er=class{static get(e,t){var n,a;let i=_.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 Ht(i.baseUrl,e??20,i.searchInAllLanguagesAllowed,t??`${s}-${l}`)}};var lo=class extends Y{async sendDocumentStartDisplayEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send document.start_display event")}async sendTopicStartDisplayEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send topic.start_display event")}async sendKhubSearchEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send khub.search event")}async sendDocumentSearchEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send document.search event")}async sendSearchPageSelectEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send search_page.select event")}async sendSearchResultOpenContextMenuEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send search_result.open_context_menu event")}async sendDocumentOnDemandTranslateEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send document.on_demand_translate event")}async sendTopicAiTranslateEvent(e){return this.sendEvents([this.sortEventArrays(e)],"Failed to send topic.ai_translate event")}convertMapToAnalyticsDocument(e){let t;switch(e.editorialType){case"BOOK":t="STRUCTURED_DOCUMENT";break;case"SHARED_BOOK":t="SHARED_PERSONAL_BOOK";break;case"ARTICLE":t="RESOURCE";break;case"HTML_PACKAGE":t="HTML_PACKAGE";break;default:throw new TypeError("Unknown editorial type for map : "+e.editorialType)}return{id:e.id,title:e.title,type:t,metadata:e.metadata}}sortEventArrays(e){let t=Object.entries(e).map(([n,a])=>Array.isArray(a)?[n,a.map(i=>typeof i=="object"&&i!=null&&!Array.isArray(i)?this.sortEventArrays(i):i).sort((i,s)=>typeof i=="object"&&i!==null&&"key"in i?i.key.localeCompare(s.key):typeof i=="string"&&typeof s=="string"?i.localeCompare(s):String(i).localeCompare(String(s)))]:typeof a=="object"&&a!==null?[n,this.sortEventArrays(a)]:[n,a]);return Object.fromEntries(t)}sendEvents(e,t){let n="anything not undefined";return this.cache.get("analytics-event-"+this.hash(e),async()=>(await this.awaitApi).sendEvents(e).then(()=>n).catch(a=>(console.info(t),console.debug(a),n)),1e3)}};var Na=class{urlToSearchRequest(e){return Er.get().parse(e)}searchRequestToUrl(e){return Er.get().serialize(e)}};window.FluidTopicsUrlService=new Na;var mt=class r extends CustomEvent{constructor(e){super(r.eventName,{detail:{currentItem:e}})}};mt.eventName="change";var Ma=class{itemName(e){return`fluid-topics-history-item-${e}`}get(e){let t=sessionStorage.getItem(this.itemName(e));return t?JSON.parse(t):void 0}set(e,t){sessionStorage.setItem(this.itemName(e),JSON.stringify(t))}},zc=new Ma;var uo=class r extends Ie{static build(){return new r(window.history,zc,()=>window.location,!1)}constructor(e,t,n,a){var i,s;super(),this.history=e,this.historyStorage=t,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,t=!1){let n=t&&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),ne(this.currentState,this.history.state)||this.realReplaceState.apply(this.history,[this.currentState,this.currentState.title,window.location.href]),setTimeout(()=>this.dispatchEvent(new mt(this.currentItem())),0)}installProxies(){let e=t=>(n,a,[i,s,l])=>{let d=t(),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 t=this.history.length-1;t>=0;t--)e?this.states[t]=this.historyStorage.get(t):setTimeout(()=>this.states[t]=this.historyStorage.get(t),this.history.length-t)}updateCurrentState(e){var t;let n={...this.buildCurrentState(),...e,index:this.currentIndex,title:(t=e?.title)!==null&&t!==void 0?t:this.currentState.title};this.setCurrentState(n)}addHistoryChangeListener(e){this.addEventListener(mt.eventName,e)}removeHistoryChangeListener(e){this.removeEventListener(mt.eventName,e)}currentItem(){return et(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 et(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 et(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 t;let n=(t=this.states[e])===null||t===void 0?void 0:t.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,t;return{...this.history.state,index:this.currentIndex,href:this.windowLocation().href,title:(t=(e=this.history.state)===null||e===void 0?void 0:e.title)!==null&&t!==void 0?t:document.title}}hasState(e){return this.states[e]!=null}isDifferentMajorState(e,t){var n;if(!this.hasState(e))return!1;let a=t??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=uo.build(),window.FluidTopicsHistoryService={currentItem:()=>window.FluidTopicsInternalHistoryService.currentItem(),back:()=>window.FluidTopicsInternalHistoryService.back(),forward:()=>window.FluidTopicsInternalHistoryService.forward(),backwardItem:()=>window.FluidTopicsInternalHistoryService.backwardItem(),forwardItem:()=>window.FluidTopicsInternalHistoryService.forwardItem(),addHistoryChangeListener:r=>window.FluidTopicsInternalHistoryService.addHistoryChangeListener(r),removeHistoryChangeListener:r=>window.FluidTopicsInternalHistoryService.removeHistoryChangeListener(r)});var Gc=z`
|
|
86
86
|
`;function jc(r,e){let{authenticationRequired:t,session:n}=_.getState();return t&&!n?.sessionAuthenticated?Promise.resolve(e):r()}var fo=class extends zt{async updateUiLocale(e){return(await this.awaitApi).updateUiLocale(e)}};var Da=class r extends br{static build(e){return new r(_,e)}constructor(e,t){super(),this.store=e,this.cache=new Ee,this.withManualResources=!0,this.localesConfiguration=null,this.userLocaleService=new fo,this.cleanSessionDebouncer=new Q,this.reloadDebouncer=new Q(500),this.apiProvider=t??(()=>gt.get())}setWithManualResources(e){this.withManualResources=e,this.updateIfNeeded()}async initService(){this.store.addEventListener(Me.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 t=await this.apiProvider().getCurrentSession();return t.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run(()=>{this.cache.clear("session"),this.setSession(void 0)},t.idleTimeoutInMillis),t});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 t=await this.cache.get("availableContentLocales",()=>jc(()=>this.apiProvider().getAvailableSearchLocales(),{contentLocales:[]}));this.setAvailableContentLocales((e=t.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 t,n,a,i,s;this.localesConfiguration=e,this.store.actions.defaultLocales(this.localesConfiguration.defaultLocales),this.store.actions.availableUiLocales((t=this.localesConfiguration.availableUiLocales)!==null&&t!==void 0?t:[]),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(t=>{t.uiLocaleChanged&&(this.reloadDebouncer.run(()=>window.location.reload()),this.store.dispatchEvent(new Sr(t)))}).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)}},Vc=Da.build();var J=function(r,e,t,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,n);else for(var l=r.length-1;l>=0;l--)(s=r[l])&&(i=(a<3?s(i):a>3?s(e,t,i):s(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i},G=class extends lt{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=Vc}render(){return ge`
|
|
87
87
|
<slot></slot>
|
|
88
|
-
`}connectedCallback(){super.connectedCallback(),this.stateManager.initService()}disconnectedCallback(){super.disconnectedCallback()}update(e){var t;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=>Wc.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")&&((t=this.stateManager)===null||t===void 0||t.setWithManualResources(this.withManualResources)),setTimeout(()=>this.stateManager.updateIfNeeded())}};G.elementDefinitions={};G.styles=Gc;J([L()],G.prototype,"baseUrl",void 0);J([L()],G.prototype,"apiIntegrationIdentifier",void 0);J([L()],G.prototype,"apiIntegrationAppVersion",void 0);J([L()],G.prototype,"uiLocale",void 0);J([Fe(null)],G.prototype,"availableUiLocales",void 0);J([Fe(null)],G.prototype,"metadataConfiguration",void 0);J([L({type:Boolean})],G.prototype,"editorMode",void 0);J([L({type:Boolean})],G.prototype,"noCustom",void 0);J([L({type:Boolean})],G.prototype,"openExternalDocumentInNewTab",void 0);J([L({converter:{fromAttribute(r){return r==="false"?!1:r==="true"||(r??!1)}}})],G.prototype,"noCustomComponent",void 0);J([L({type:Boolean})],G.prototype,"withManualResources",void 0);J([L({type:Boolean})],G.prototype,"navigatorOnline",void 0);J([L({type:Boolean})],G.prototype,"forcedOffline",void 0);J([L({type:Boolean})],G.prototype,"authenticationRequired",void 0);J([Fe([])],G.prototype,"messageContexts",void 0);J([Fe(void 0)],G.prototype,"session",void 0);or("ft-app-context")(G);var po=class extends Y{get mapId(){return this._mapId}set mapId(e){e!==this._mapId&&this.clear(),this._mapId=e}constructor(e,t,n){super(!1,t),this.converter=e,this._mapId=n,this.initCache()}async withMapId(e){return this._mapId?e(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(e=>this.fetchMap(e))),this.cache.register("enrichedToc",()=>this.withMapId(e=>this.fetchPages(e).then(t=>this.converter.convertPaginatedToc(e,t)))),this.cache.register("ratingSummary",()=>{var e,t;return ke((t=(e=_.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&t!==void 0?t:[],"RATING_USER")?this.withMapId(a=>this.fetchMapRating(a)):Promise.resolve()})}clear(){this.cache.clearMatching(e=>e!=="configuration")}makeCacheKey(e,t){return e+(t?"-destinationLanguage-"+t?.destinationLanguage:"")}getMap(e){return this.cache.get(this.makeCacheKey("map",e),()=>this.fetchMap(this.mapId,e))}getMapNow(e){return this.cache.getNow(this.makeCacheKey("map",e))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(e){return this.cache.get(this.makeCacheKey("enrichedToc",e),()=>this.fetchPages(this.mapId,e).then(t=>this.converter.convertPaginatedToc(this.mapId,t)))}getEnrichedTocNow(e){return this.cache.getNow(this.makeCacheKey("enrichedToc",e))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(e){return(await this.getEnrichedToc(e)).toc}async getPagesToc(e){return(await this.getEnrichedToc(e)).pagesToc}async getTranslationError(e){return(await this.getEnrichedToc(e)).translationError}async getTocNode(e,t){return(await this.getEnrichedToc(t)).nodeByTocId[e]}getTocNodeNow(e,t){var n;return(n=this.getEnrichedTocNow(t))===null||n===void 0?void 0:n.nodeByTocId[e]}getTocNodeNowByUrl(e,t){var n,a;let i=this.getMapNow(t);return i?.prettyUrl==e||`${i?.id}/root`===e?(n=this.getEnrichedTocNow(t))===null||n===void 0?void 0:n.toc[0]:(a=this.getEnrichedTocNow(t))===null||a===void 0?void 0:a.nodeByUrl[e]}async getPage(e,t){let n=await this.getEnrichedToc(t);return n.pages[e-1]||n.pages[0]}async getPageByTocId(e,t){let n=await this.getEnrichedToc(t);return n.pageByTocId[e]||n.pages[0]}getTopicInfo(e){return this.cache.get("topic-"+e.tocId,()=>this.fetchTopicMetadata(e))}getTopicContent(e){return this.cache.get("topic-content-"+e.tocId,()=>this.fetchTopicHTMLContent(e))}getTranslatedTopicContent(e,t){return this.cache.get(this.makeCacheKey("translated-topic-content-"+e.tocId,t),()=>this.fetchTranslatedTopicHTMLContent(e,t))}async getTopicMetadataValue(e,t){let n=this.getTocNodeNow(e);if(!n)return;let a=await this.getTopicInfo(n);return a?.metadata.find(i=>i.key==t)}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(e,t){return this.cache.get("document-relatives-"+e+"-"+t.join("-"),()=>this.fetchRelativesForDocument(e,t))}getRelativesForTopicInMap(e,t,n){return this.cache.get("topic-relatives-"+[e,t,...n].join("-"),()=>this.fetchRelativesForTopicInMap(e,t,n))}getAttachmentDownloadLink(e){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(e).content}?download=true&locationValue=reader`)}getLink(e,t,n){let a=this.getNavigationData(e,t,n),i=this.getReaderLinkPrefix()+(a.prettyUrl?a.prettyUrl:`${a.mapId}/${a.tocId}`),s=new URL(i,this.api.tenantBaseUrl);return a.page!=null&&s.searchParams.set("page",`${a.page}`),a.prettyUrlDuplicated&&s.searchParams.set("tocId",a.tocId),a.section!=null&&s.searchParams.set("section",a.section),s.href}getNavigationData(e,t,n,a){var i,s;e=e||"root";let l=this.getEnrichedTocNow(a),d=l?.pageByTocId[e],f=l?.nodeByTocId[e],h=f?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(i=f?.title)!==null&&i!==void 0?i:"",untranslatedTopicTitle:f?.untranslatedTitle,page:t&&d&&d.number!==t?t:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=l?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(e,t,n,a){return await this.getEnrichedToc(a),this.getNavigationData(e,t,n,a)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(e=>e?.publication)}getTopicRating(e){return this.getRatingSummary().then(t=>{var n;return t?{type:t.topics.type,rating:(n=t.topics)===null||n===void 0?void 0:n.ratings.find(a=>a.tocId===e)}:void 0})}rateMap(e,t){return this.makeRateMapRequest(e,t).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(e,t){return this.makeMapFeedbackRequest(e,t)}rateTopic(e,t,n){return this.makeRateTopicRequest(e,t,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(e){return this.makeUnrateTopicRequest(e).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let e=_.getState().session;e?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(e,t,n){return this.makeTopicFeedbackRequest(e,t,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(e,t){let n=this.getTocNodeNow(e,t),a=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],i=this.getTocNodeNow(n.parentTocId,t);for(;i;)a.unshift({tocId:i.tocId,title:i.title,untranslatedTitle:i.untranslatedTitle}),i=this.getTocNodeNow(i.parentTocId,t);return a}isFeatureAccessible(e,{session:t}){var n;if(!this.isFeatureAvailable(e))return!1;switch(e){case Ne.FEEDBACK:return ke(t??[],$.FEEDBACK_USER);case Ne.RATING:return ke(t??[],$.RATING_USER);case Ne.PRINT:return ke(t??[],$.PRINT_USER);case Ne.BOOKMARK:return!!t?.sessionAuthenticated;case Ne.COLLECTIONS:return ke(t??[],$.COLLECTION_USER);case Ne.PERSONAL_BOOKS:return ke(t??[],$.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var ho=class r extends po{static async build(e){return new r(new ro,void 0,e)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(e,t){let n=await this.api.getMap(e,t);return this.fingerprint=n.fingerprint,n}fetchMapRating(e){return this.api.getMapRating(e)}async fetchPages(e,t){return await this.getMap(t),this.api.getPages(e,this.fingerprint,t)}fetchTopicHTMLContent(e){return this.api.getTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(e,t){return this.api.getTranslatedTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint,t)}fetchTopicMetadata(e){return this.api.getTopic(this.mapId,e.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(e,t){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:e,valueFilter:{negative:!1,values:t}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(e,t,n){let a={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[e]}}],sort:[],facets:[]};return this.api.search(a)}makeMapFeedbackRequest(e,t){return this.api.sendMapFeedback(this.mapId,e,t)}makeRateMapRequest(e,t){return this.api.rateMap(this.mapId,e,t)}makeRateTopicRequest(e,t,n){return this.api.rateTopic(this.mapId,e,t,n)}makeTopicFeedbackRequest(e,t,n){return this.api.sendTopicFeedback(this.mapId,e,t,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(e){return this.api.unrateTopic(this.mapId,e)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(e){return!0}};var ff="topicPivot";function Kc(r,e){let t=new URL(r);return e?.values.forEach(n=>{t.searchParams.append(ff,n)}),t.href}var go=class r{static build(e,t){return new r(Fc(e.trim()||"context"),t??ho.build)}loaded(){return Go(()=>this._loaded)}constructor(e,t,n,a){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Q(10),this.analyticsEventsService=a??new lo,this.initService(t)}async initService(e){return this.service=await e(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(e){e!==this.store.getState().mapId&&(this.store.actions.mapId(e),this.service&&(this.service.mapId=e),await this.reload())}setRenderedTopics(e){this.store.actions.renderedTopics(e)}setVisibleTopics(e){this.store.actions.visibleTopics(e)}async awaitService(){return er(()=>this.service)}async navigateToTopic(e,t,n){await this.loaded();let a=await this.awaitService(),i=await(n!=null?a.getPage(n,this.getTranslationSettings()):a.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(i);let s=this.resolveValidNonRootTocId(e,i);this.store.actions.scrollTarget({tocId:s,section:t}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,t){var n,a,i;let s=(n=e==="root"?void 0:e)!==null&&n!==void 0?n:t.rootTocId;return t.topics.includes(s)?s:(i=(a=t.topics[0])!==null&&a!==void 0?a:t.hiddenTopics[0])!==null&&i!==void 0?i:"root"}async navigateToPage(e){await this.loaded();let n=await(await this.awaitService()).getPage(e,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var e;!((e=this.service)===null||e===void 0)&&e.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var e;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(e=this.service)===null||e===void 0||e.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(e){var t,n,a,i,s;try{e&&this.setTranslationLoading(!0);let l=d=>{throw e&&this.setTranslationError(!0),d};await Promise.all([this.loadConfiguration(),(t=this.service)===null||t===void 0?void 0:t.getMap(e).then(d=>this.store.actions.map(d)).catch(l),(n=this.service)===null||n===void 0?void 0:n.getToc(e).then(d=>this.store.actions.toc(d)).catch(l),(a=this.service)===null||a===void 0?void 0:a.getPagesToc(e).then(d=>this.store.actions.pagesToc(d)).catch(l),(i=this.service)===null||i===void 0?void 0:i.getPaginationConfiguration().then(d=>this.store.actions.paginationConfiguration(d)).catch(l),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(e).then(d=>this.setTranslationError(d))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(l){this.errorHandler&&!(l instanceof Te)&&this.errorHandler(l)}}loadConfiguration(){var e;return(e=this.service)===null||e===void 0?void 0:e.getConfiguration().then(t=>this.store.actions.configuration(t))}reloadConfiguration(){var e;return(e=this.service)===null||e===void 0||e.clearConfiguration(),this.loadConfiguration()}async fetchRelatives(){var e,t;let n=(e=this.store.getState().map)===null||e===void 0?void 0:e.metadata.filter(a=>{var i;return a.key==((i=this.store.getState().configuration)===null||i===void 0?void 0:i.relativePivotMetadata)}).flatMap(a=>a.values);if(n!==void 0&&n.length>0){let a=await((t=this.service)===null||t===void 0?void 0:t.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n)),i=a?.results.flatMap(s=>s.entries);this.store.actions.relatives(i)}this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(xr.clusteringHelperCreated))}createClusteringHelper(){var e,t;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let a=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),i=(t=(e=_.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&t!==void 0?t:[];return new Et(n,a,this.metadataForSwitchToRelatives,i)}}async navigateToRelativeTopicIfFound(e){var t,n,a;await this.loaded();let i=await er(()=>{var f;return(f=this.store.getState().configuration)===null||f===void 0?void 0:f.relativeTopicPivotMetadata}),s=this.store.getState().mapId,d=await(await this.awaitService()).getRelativesForTopicInMap(s,i,[e]);if(!((a=(n=(t=d?.results)===null||t===void 0?void 0:t[0])===null||n===void 0?void 0:n.entries)===null||a===void 0)&&a[0]){let f=d.results[0].entries[0].topic.tocId;return await this.navigateToTopic(f),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(e){this.store.actions.searchInDocumentQuery(e)}async setTranslationDestinationLanguage(e){this.store.actions.setTranslationDestinationLanguage(e),e&&this.sendDocumentOnDemandTranslateEvent(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(e){this.store.actions.setTranslationSourceLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(e){this.store.actions.setTranslationProfileId(e)}async setTranslationLoading(e){this.store.actions.setTranslationLoading(e)}async setTranslationError(e){this.store.actions.setTranslationError(e)}getTranslationSettings(){var e;let t=this.store.getState();return t.translation.profileId&&t.translation.destinationLanguage?{profileId:t.translation.profileId,destinationLanguage:t.translation.destinationLanguage.code,sourceLanguage:(e=t.map)===null||e===void 0?void 0:e.lang}:void 0}setLinkPreviewDialogId(e){this.store.actions.linkPreviewDialogId(e)}async fetchMapRating(){var e;this.store.actions.mapRating(await((e=this.service)===null||e===void 0?void 0:e.getMapRating()))}async fetchTopicRating(e){var t;let n=await((t=this.service)===null||t===void 0?void 0:t.getTopicRating(e));n&&this.store.actions.setTopicsRating({[e]:n})}registerMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.add(e),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.delete(e),this.updateClusteringHelper()}getAccurateNavigationData(e,t,n){return this.service.getAccurateNavigationData(e,t?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(e){var t;return(t=this.service)===null||t===void 0?void 0:t.buildBreadcrumb(e,this.getTranslationSettings())}fetchTopicContent(e){var t,n;let a=this.getTranslationSettings();return a?(this.sendTopicAiTranslateEvent(a.destinationLanguage,e),(t=this.service)===null||t===void 0?void 0:t.getTranslatedTopicContent(e,a).then(i=>(i.isTranslationError&&this.setTranslationError(!0),i.content))):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(e)}getTocNode(e){return this.service.getTocNode(e,this.getTranslationSettings())}getPage(e){return this.service.getPage(e,this.getTranslationSettings())}onMapAttachmentsUpdate(){var e;(e=this.service)===null||e===void 0||e.clearMapAttachments(),this.store.dispatchEvent(new Event(xr.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var t,n,a;this.store.getState().relatives==null&&await this.fetchRelatives();let i=Et.findResultWithMetadataValue((t=this.store.getState().relatives)!==null&&t!==void 0?t:[],"ft:locale",e),s=Qo(i);if(s){let l=this.store.getState().visibleTopics[0],d=(n=this.store.getState().configuration)===null||n===void 0?void 0:n.relativeTopicPivotMetadata;if(d&&l){let f=await((a=this.service)===null||a===void 0?void 0:a.getTopicMetadataValue(l,d));s=Kc(s,f)}}return s}sendDocumentOnDemandTranslateEvent(e){let{editorMode:t,apiIntegrationIdentifier:n,apiIntegrationAppVersion:a}=_.getState(),i=this.store.getState(),s=i.map,l=i.translation.profileId;if(!(t||!s||!n||!a||!l))try{let d=this.analyticsEventsService.convertMapToAnalyticsDocument(s);this.analyticsEventsService.sendDocumentOnDemandTranslateEvent({name:"DOCUMENT__ON_DEMAND_TRANSLATE",offline:!1,appName:n,appVersion:a,sourceLanguage:this.parseLanguageToAnalyticsFormat(s.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e.code),profileId:l,document:d,translationOrigin:eo.AI})}catch(d){console.warn("Failed to send on-demand document translate event:",d)}}sendTopicAiTranslateEvent(e,t){let{editorMode:n,apiIntegrationIdentifier:a,apiIntegrationAppVersion:i}=_.getState(),s=this.store.getState(),l=s.map,d=s.translation.profileId;if(!(n||!l||!a||!i||!d))try{let f=this.buildBreadcrumb(t.tocId);if(!f){console.warn("Failed to build breadcrumb for topic ai translate event");return}let h=this.analyticsEventsService.convertMapToAnalyticsDocument(l);this.analyticsEventsService.sendTopicAiTranslateEvent({name:"TOPIC__AI_TRANSLATE",offline:!1,appName:a,appVersion:i,sourceLanguage:this.parseLanguageToAnalyticsFormat(l.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e),breadcrumb:f.map(p=>({tocId:p.tocId,title:p.title,mapId:l.id,mapTitle:l.title})),document:h,profileId:d})}catch(f){console.warn("Failed to send topic ai translate event:",f)}}parseLanguageToAnalyticsFormat(e){if(!e)return;let t=e.split("-");return t.length===2?{languageCode:t[0],countryCode:t[1]}:{languageCode:t[0],countryCode:""}}};var Zc=z`
|
|
88
|
+
`}connectedCallback(){super.connectedCallback(),this.stateManager.initService()}disconnectedCallback(){super.disconnectedCallback()}update(e){var t;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=>Wc.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")&&((t=this.stateManager)===null||t===void 0||t.setWithManualResources(this.withManualResources)),setTimeout(()=>this.stateManager.updateIfNeeded())}};G.elementDefinitions={};G.styles=Gc;J([L()],G.prototype,"baseUrl",void 0);J([L()],G.prototype,"apiIntegrationIdentifier",void 0);J([L()],G.prototype,"apiIntegrationAppVersion",void 0);J([L()],G.prototype,"uiLocale",void 0);J([Fe(null)],G.prototype,"availableUiLocales",void 0);J([Fe(null)],G.prototype,"metadataConfiguration",void 0);J([L({type:Boolean})],G.prototype,"editorMode",void 0);J([L({type:Boolean})],G.prototype,"noCustom",void 0);J([L({type:Boolean})],G.prototype,"openExternalDocumentInNewTab",void 0);J([L({converter:{fromAttribute(r){return r==="false"?!1:r==="true"||(r??!1)}}})],G.prototype,"noCustomComponent",void 0);J([L({type:Boolean})],G.prototype,"withManualResources",void 0);J([L({type:Boolean})],G.prototype,"navigatorOnline",void 0);J([L({type:Boolean})],G.prototype,"forcedOffline",void 0);J([L({type:Boolean})],G.prototype,"authenticationRequired",void 0);J([Fe([])],G.prototype,"messageContexts",void 0);J([Fe(void 0)],G.prototype,"session",void 0);or("ft-app-context")(G);var po=class extends Y{get mapId(){return this._mapId}set mapId(e){e!==this._mapId&&this.clear(),this._mapId=e}constructor(e,t,n){super(!1,t),this.converter=e,this._mapId=n,this.initCache()}async withMapId(e){return this._mapId?e(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(e=>this.fetchMap(e))),this.cache.register("enrichedToc",()=>this.withMapId(e=>this.fetchPages(e).then(t=>this.converter.convertPaginatedToc(e,t)))),this.cache.register("ratingSummary",()=>{var e,t;return ke((t=(e=_.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&t!==void 0?t:[],"RATING_USER")?this.withMapId(a=>this.fetchMapRating(a)):Promise.resolve()})}clear(){this.cache.clearMatching(e=>e!=="configuration")}makeCacheKey(e,t){return e+(t?"-destinationLanguage-"+t?.destinationLanguage:"")}getMap(e){return this.cache.get(this.makeCacheKey("map",e),()=>this.fetchMap(this.mapId,e))}getMapNow(e){return this.cache.getNow(this.makeCacheKey("map",e))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(e){return this.cache.get(this.makeCacheKey("enrichedToc",e),()=>this.fetchPages(this.mapId,e).then(t=>this.converter.convertPaginatedToc(this.mapId,t)))}getEnrichedTocNow(e){return this.cache.getNow(this.makeCacheKey("enrichedToc",e))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(e){return(await this.getEnrichedToc(e)).toc}async getPagesToc(e){return(await this.getEnrichedToc(e)).pagesToc}async getTranslationError(e){return(await this.getEnrichedToc(e)).translationError}async getTocNode(e,t){return(await this.getEnrichedToc(t)).nodeByTocId[e]}getTocNodeNow(e,t){var n;return(n=this.getEnrichedTocNow(t))===null||n===void 0?void 0:n.nodeByTocId[e]}getTocNodeNowByUrl(e,t){var n,a;let i=this.getMapNow(t);return i?.prettyUrl==e||`${i?.id}/root`===e?(n=this.getEnrichedTocNow(t))===null||n===void 0?void 0:n.toc[0]:(a=this.getEnrichedTocNow(t))===null||a===void 0?void 0:a.nodeByUrl[e]}async getPage(e,t){let n=await this.getEnrichedToc(t);return n.pages[e-1]||n.pages[0]}async getPageByTocId(e,t){let n=await this.getEnrichedToc(t);return n.pageByTocId[e]||n.pages[0]}getTopicInfo(e){return this.cache.get("topic-"+e.tocId,()=>this.fetchTopicMetadata(e))}getTopicContent(e){return this.cache.get("topic-content-"+e.tocId,()=>this.fetchTopicHTMLContent(e))}getTranslatedTopicContent(e,t){return this.cache.get(this.makeCacheKey("translated-topic-content-"+e.tocId,t),()=>this.fetchTranslatedTopicHTMLContent(e,t))}async getTopicMetadataValue(e,t){let n=this.getTocNodeNow(e);if(!n)return;let a=await this.getTopicInfo(n);return a?.metadata.find(i=>i.key==t)}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(e,t){return this.cache.get("document-relatives-"+e+"-"+t.join("-"),()=>this.fetchRelativesForDocument(e,t))}getRelativesForTopicInMap(e,t,n){return this.cache.get("topic-relatives-"+[e,t,...n].join("-"),()=>this.fetchRelativesForTopicInMap(e,t,n))}getAttachmentDownloadLink(e){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(e).content}?download=true&locationValue=reader`)}getLink(e,t,n){let a=this.getNavigationData(e,t,n),i=this.getReaderLinkPrefix()+(a.prettyUrl?a.prettyUrl:`${a.mapId}/${a.tocId}`),s=new URL(i,this.api.tenantBaseUrl);return a.page!=null&&s.searchParams.set("page",`${a.page}`),a.prettyUrlDuplicated&&s.searchParams.set("tocId",a.tocId),a.section!=null&&s.searchParams.set("section",a.section),s.href}getNavigationData(e,t,n,a){var i,s;e=e||"root";let l=this.getEnrichedTocNow(a),d=l?.pageByTocId[e],f=l?.nodeByTocId[e],h=f?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(i=f?.title)!==null&&i!==void 0?i:"",untranslatedTopicTitle:f?.untranslatedTitle,page:t&&d&&d.number!==t?t:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=l?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(e,t,n,a){return await this.getEnrichedToc(a),this.getNavigationData(e,t,n,a)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(e=>e?.publication)}getTopicRating(e){return this.getRatingSummary().then(t=>{var n;return t?{type:t.topics.type,rating:(n=t.topics)===null||n===void 0?void 0:n.ratings.find(a=>a.tocId===e)}:void 0})}rateMap(e,t){return this.makeRateMapRequest(e,t).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(e,t){return this.makeMapFeedbackRequest(e,t)}rateTopic(e,t,n){return this.makeRateTopicRequest(e,t,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(e){return this.makeUnrateTopicRequest(e).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let e=_.getState().session;e?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(e,t,n){return this.makeTopicFeedbackRequest(e,t,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(e,t){let n=this.getTocNodeNow(e,t),a=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],i=this.getTocNodeNow(n.parentTocId,t);for(;i;)a.unshift({tocId:i.tocId,title:i.title,untranslatedTitle:i.untranslatedTitle}),i=this.getTocNodeNow(i.parentTocId,t);return a}isFeatureAccessible(e,{session:t}){var n;if(!this.isFeatureAvailable(e))return!1;switch(e){case Ne.FEEDBACK:return ke(t??[],$.FEEDBACK_USER);case Ne.RATING:return ke(t??[],$.RATING_USER);case Ne.PRINT:return ke(t??[],$.PRINT_USER);case Ne.BOOKMARK:return!!t?.sessionAuthenticated;case Ne.COLLECTIONS:return ke(t??[],$.COLLECTION_USER);case Ne.PERSONAL_BOOKS:return ke(t??[],$.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var ho=class r extends po{static async build(e){return new r(new ro,void 0,e)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(e,t){let n=await this.api.getMap(e,t);return this.fingerprint=n.fingerprint,n}fetchMapRating(e){return this.api.getMapRating(e)}async fetchPages(e,t){return await this.getMap(t),this.api.getPages(e,this.fingerprint,t)}fetchTopicHTMLContent(e){return this.api.getTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(e,t){return this.api.getTranslatedTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint,t)}fetchTopicMetadata(e){return this.api.getTopic(this.mapId,e.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(e,t){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:e,valueFilter:{negative:!1,values:t}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(e,t,n){let a={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[e]}}],sort:[],facets:[]};return this.api.search(a)}makeMapFeedbackRequest(e,t){return this.api.sendMapFeedback(this.mapId,e,t)}makeRateMapRequest(e,t){return this.api.rateMap(this.mapId,e,t)}makeRateTopicRequest(e,t,n){return this.api.rateTopic(this.mapId,e,t,n)}makeTopicFeedbackRequest(e,t,n){return this.api.sendTopicFeedback(this.mapId,e,t,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(e){return this.api.unrateTopic(this.mapId,e)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(e){return!0}};var ff="topicPivot";function Kc(r,e){let t=new URL(r);return e?.values.forEach(n=>{t.searchParams.append(ff,n)}),t.href}var go=class r{static build(e,t){return new r(Fc(e.trim()||"context"),t??ho.build)}loaded(){return Go(()=>this._loaded)}constructor(e,t,n,a){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Q(10),this.analyticsEventsService=a??new lo,this.initService(t)}async initService(e){return this.service=await e(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(e){e!==this.store.getState().mapId&&(this.store.actions.mapId(e),this.service&&(this.service.mapId=e),await this.reload())}setRenderedTopics(e){this.store.actions.renderedTopics(e)}setVisibleTopics(e){this.store.actions.visibleTopics(e)}async awaitService(){return er(()=>this.service)}async navigateToTopic(e,t,n){await this.loaded();let a=await this.awaitService(),i=await(n!=null?a.getPage(n,this.getTranslationSettings()):a.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(i);let s=this.resolveValidNonRootTocId(e,i);this.store.actions.scrollTarget({tocId:s,section:t}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,t){var n,a,i;let s=(n=e==="root"?void 0:e)!==null&&n!==void 0?n:t.rootTocId;return t.topics.includes(s)?s:(i=(a=t.topics[0])!==null&&a!==void 0?a:t.hiddenTopics[0])!==null&&i!==void 0?i:"root"}async navigateToPage(e){await this.loaded();let n=await(await this.awaitService()).getPage(e,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var e;!((e=this.service)===null||e===void 0)&&e.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var e;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(e=this.service)===null||e===void 0||e.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(e){var t,n,a,i,s;try{e&&this.setTranslationLoading(!0);let l=d=>{throw e&&this.setTranslationError(!0),d};await Promise.all([this.loadConfiguration(),(t=this.service)===null||t===void 0?void 0:t.getMap(e).then(d=>this.store.actions.map(d)).catch(l),(n=this.service)===null||n===void 0?void 0:n.getToc(e).then(d=>this.store.actions.toc(d)).catch(l),(a=this.service)===null||a===void 0?void 0:a.getPagesToc(e).then(d=>this.store.actions.pagesToc(d)).catch(l),(i=this.service)===null||i===void 0?void 0:i.getPaginationConfiguration().then(d=>this.store.actions.paginationConfiguration(d)).catch(l),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(e).then(d=>this.setTranslationError(d))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(l){this.errorHandler&&!(l instanceof Te)&&this.errorHandler(l)}}loadConfiguration(){var e;return(e=this.service)===null||e===void 0?void 0:e.getConfiguration().then(t=>this.store.actions.configuration(t))}reloadConfiguration(){var e;return(e=this.service)===null||e===void 0||e.clearConfiguration(),this.loadConfiguration()}async fetchRelatives(){var e,t;let n=(e=this.store.getState().map)===null||e===void 0?void 0:e.metadata.filter(a=>{var i;return a.key==((i=this.store.getState().configuration)===null||i===void 0?void 0:i.relativePivotMetadata)}).flatMap(a=>a.values);if(n!==void 0&&n.length>0){let a=await((t=this.service)===null||t===void 0?void 0:t.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n)),i=a?.results.flatMap(s=>s.entries);this.store.actions.relatives(i)}this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(xr.clusteringHelperCreated))}createClusteringHelper(){var e,t;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let a=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),i=(t=(e=_.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&t!==void 0?t:[];return new Et(n,a,this.metadataForSwitchToRelatives,i)}}async navigateToRelativeTopicIfFound(e){var t,n,a;await this.loaded();let i=await er(()=>{var f;return(f=this.store.getState().configuration)===null||f===void 0?void 0:f.relativeTopicPivotMetadata}),s=this.store.getState().mapId,d=await(await this.awaitService()).getRelativesForTopicInMap(s,i,[e]);if(!((a=(n=(t=d?.results)===null||t===void 0?void 0:t[0])===null||n===void 0?void 0:n.entries)===null||a===void 0)&&a[0]){let f=d.results[0].entries[0].topic.tocId;return await this.navigateToTopic(f),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(e){this.store.actions.searchInDocumentQuery(e)}async setTranslationDestinationLanguage(e){this.store.actions.setTranslationDestinationLanguage(e),e&&this.sendDocumentOnDemandTranslateEvent(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(e){this.store.actions.setTranslationSourceLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(e){this.store.actions.setTranslationProfileId(e)}async setTranslationLoading(e){this.store.actions.setTranslationLoading(e)}async setTranslationError(e){this.store.actions.setTranslationError(e)}getTranslationSettings(){var e;let t=this.store.getState();return t.translation.profileId&&t.translation.destinationLanguage?{profileId:t.translation.profileId,destinationLanguage:t.translation.destinationLanguage.code,sourceLanguage:(e=t.map)===null||e===void 0?void 0:e.lang}:void 0}setLinkPreviewDialogId(e){this.store.actions.linkPreviewDialogId(e)}async fetchMapRating(){var e;this.store.actions.mapRating(await((e=this.service)===null||e===void 0?void 0:e.getMapRating()))}async fetchTopicRating(e){var t;let n=await((t=this.service)===null||t===void 0?void 0:t.getTopicRating(e));n&&this.store.actions.setTopicsRating({[e]:n})}registerMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.add(e),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.delete(e),this.updateClusteringHelper()}getAccurateNavigationData(e,t,n){return this.service.getAccurateNavigationData(e,t?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(e){var t;return(t=this.service)===null||t===void 0?void 0:t.buildBreadcrumb(e,this.getTranslationSettings())}fetchTopicContent(e){var t,n;let a=this.getTranslationSettings();return a?(this.sendTopicAiTranslateEvent(a.destinationLanguage,e),(t=this.service)===null||t===void 0?void 0:t.getTranslatedTopicContent(e,a).then(i=>(i.isTranslationError&&this.setTranslationError(!0),i.content))):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(e)}getTocNode(e){return this.service.getTocNode(e,this.getTranslationSettings())}getPage(e){return this.service.getPage(e,this.getTranslationSettings())}onMapAttachmentsUpdate(){var e;(e=this.service)===null||e===void 0||e.clearMapAttachments(),this.store.dispatchEvent(new Event(xr.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var t,n,a;this.store.getState().relatives==null&&await this.fetchRelatives();let i=Et.findResultWithMetadataValue((t=this.store.getState().relatives)!==null&&t!==void 0?t:[],"ft:locale",e),s=Qo(i);if(s){let l=this.store.getState().visibleTopics[0],d=(n=this.store.getState().configuration)===null||n===void 0?void 0:n.relativeTopicPivotMetadata;if(d&&l){let f=await((a=this.service)===null||a===void 0?void 0:a.getTopicMetadataValue(l,d));s=Kc(s,f)}}return s}sendDocumentOnDemandTranslateEvent(e){let{editorMode:t,apiIntegrationIdentifier:n,apiIntegrationAppVersion:a}=_.getState(),i=this.store.getState(),s=i.map,l=i.translation.profileId;if(!(t||!s||!n||!a||!l))try{let d=this.analyticsEventsService.convertMapToAnalyticsDocument(s);this.analyticsEventsService.sendDocumentOnDemandTranslateEvent({name:"DOCUMENT__ON_DEMAND_TRANSLATE",offline:!1,appName:n,appVersion:a,sourceLanguage:this.parseLanguageToAnalyticsFormat(s.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e.code),profileId:l,document:d,translationOrigin:eo.AI})}catch(d){console.warn("Failed to send on-demand document translate event:",d)}}sendTopicAiTranslateEvent(e,t){let{editorMode:n,apiIntegrationIdentifier:a,apiIntegrationAppVersion:i}=_.getState(),s=this.store.getState(),l=s.map,d=s.translation.profileId;if(!(n||!l||!a||!i||!d))try{let f=this.buildBreadcrumb(t.tocId);if(!f){console.warn("Failed to build breadcrumb for topic ai translate event");return}let h=this.analyticsEventsService.convertMapToAnalyticsDocument(l);this.analyticsEventsService.sendTopicAiTranslateEvent({name:"TOPIC__AI_TRANSLATE",offline:!1,appName:a,appVersion:i,sourceLanguage:this.parseLanguageToAnalyticsFormat(l.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e),breadcrumb:f.map(p=>({tocId:p.tocId,title:p.title})),document:h,profileId:d})}catch(f){console.warn("Failed to send topic ai translate event:",f)}}parseLanguageToAnalyticsFormat(e){if(!e)return;let t=e.split("-");return t.length===2?{languageCode:t[0],countryCode:t[1]}:{languageCode:t[0],countryCode:""}}};var Zc=z`
|
|
89
89
|
`;var mo=class extends CustomEvent{constructor(e,t){super("ft-reader-map-loaded",{detail:{map:e,toc:t}})}},yo=class extends CustomEvent{constructor(e,t){super("ft-reader-visible-topics-change",{detail:{visibleTopics:t}})}},bo=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},vo=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},xo=class extends Event{constructor(){super("ft-reader-map-not-found")}},So=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Eo=class extends Event{constructor(){super("ft-reader-map-forbidden")}},Co=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var re=function(r,e,t,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,n);else for(var l=r.length-1;l>=0;l--)(s=r[l])&&(i=(a<3?s(i):a>3?s(e,t,i):s(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i},Fa=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}},V=class extends lt{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new Q(5),this.navigationDebouncer=new Q(10),this.mapLoadedEventDebouncer=new Q(50),this.addStore(_)}render(){return ge`
|
|
90
90
|
${this.importStyleIfNeeded()}
|
|
91
91
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-reader-context",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.26",
|
|
4
4
|
"description": "Context block for integrated reader components",
|
|
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-app-context": "2.0.
|
|
23
|
-
"@fluid-topics/ft-wc-utils": "2.0.
|
|
22
|
+
"@fluid-topics/ft-app-context": "2.0.26",
|
|
23
|
+
"@fluid-topics/ft-wc-utils": "2.0.26",
|
|
24
24
|
"@reduxjs/toolkit": "^1.6.2",
|
|
25
25
|
"lit": "3.1.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@fluid-topics/public-api": "1.0.122"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "4ffd88b4d84ec81428bd1ac1c82423c58428afe9"
|
|
31
31
|
}
|