@fluid-topics/ft-reader-content 2.0.24 → 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.
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
`;var Mt=S(j()),je=S(J()),G=S(L());var ee=S(L());var gn=S(L()),As={setTranslationDestinationLanguage:(o,e)=>{o.translation.destinationLanguage=e.payload},setTranslationSourceLanguage:(o,e)=>{o.translation.sourceLanguage=e.payload},setTranslationProfileId:(o,e)=>{o.translation.profileId=e.payload},setTranslationLoading:(o,e)=>{o.translation.isLoading=e.payload},setTranslationError:(o,e)=>{o.translation.isError=e.payload},setTopicsRating:(o,e)=>{for(let r in e.payload)o.topicsRating[r]=e.payload[r]}},mn=o=>gn.FtReduxStore.get({name:"ft-reader-"+o,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:As});var Zr=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(a=>{var s;return a.pageConfiguration&&this.registerPage(this.buildPage(a,n)),a.tocId==null?this.extractPagesToc(a.children,r,n):[{tocId:a.tocId,title:(s=a.title)!==null&&s!==void 0?s:"",untranslatedTitle:a.untranslatedTitle,depth:r,children:this.extractPagesToc(a.children,r+1,a.tocId)}]})}convertNodes(e,r,n){return e.flatMap(a=>{var s,c,d;if(a.tocId==null)return[...this.convertSectionNodes((s=a.pageToc)!==null&&s!==void 0?s:[],r,a.tocId),...this.convertNodes(a.children,r,a.tocId)];let u=(c=a.prettyUrl)===null||c===void 0?void 0:c.replace(/^\//,""),p={tocId:a.tocId,contentId:a.contentId,title:a.title,untranslatedTitle:a.untranslatedTitle,hasRating:a.hasRating,origin:a.origin,prettyUrl:u,depth:r,parentTocId:n,children:[]};this.register(p);let h=this.convertSectionNodes((d=a.pageToc)!==null&&d!==void 0?d:[],r+1,a.tocId),y=this.convertNodes(a.children,r+1,p.tocId);return p.children=[...h,...y],[p]})}convertSectionNodes(e,r,n){return e.flatMap(a=>{var s;let c=(s=a.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),d={...a,prettyUrl:c,depth:r,parentTocId:n,children:[]};return this.register(d),d.children=this.convertSectionNodes(a.children,r+1,a.tocId),[d]})}buildPage(e,r){var n,a,s,c,d,u;let p={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:((s=e.pageToc)!==null&&s!==void 0?s:[]).map(m=>this.nodeByTocId[m.tocId]),topics:[],hiddenTopics:[],breadcrumb:r?this.buildBreadcrumb(this.nodeByTocId[r]):[]},h=(m,v)=>(v?p.topics:p.hiddenTopics).push(m),y=(d=(c=e.pageConfiguration)===null||c===void 0?void 0:c.parentsVisibility)!==null&&d!==void 0?d:[];return p.breadcrumb.forEach((m,v)=>{h(m,y[v])}),e.tocId&&h(e.tocId,e.pageConfiguration.isVisible),p.topics.push(...this.tocIds((u=e.pageToc)!==null&&u!==void 0?u:[])),p}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}},Vt=class{convertPaginatedToc(e,r){return new Zr(e,r).build()}};var ws=S(vn(),1);var xn;(function(o){o.black="black",o.green="green",o.blue="blue",o.purple="purple",o.red="red",o.orange="orange",o.yellow="yellow"})(xn||(xn={}));var Sn;(function(o){o.OFFICIAL="OFFICIAL",o.PERSONAL="PERSONAL",o.SHARED="SHARED"})(Sn||(Sn={}));var Cn;(function(o){o.STRUCTURED_DOCUMENT="STRUCTURED_DOCUMENT",o.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT",o.SHARED_PERSONAL_BOOK="SHARED_PERSONAL_BOOK",o.PERSONAL_BOOK="PERSONAL_BOOK",o.ATTACHMENT="ATTACHMENT",o.RESOURCE="RESOURCE",o.HTML_PACKAGE="HTML_PACKAGE"})(Cn||(Cn={}));var On;(function(o){o.STRUCTURED_DOCUMENT="STRUCTURED_DOCUMENT",o.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT",o.SHARED_PERSONAL_BOOK="SHARED_PERSONAL_BOOK",o.PERSONAL_BOOK="PERSONAL_BOOK",o.ATTACHMENT="ATTACHMENT",o.RESOURCE="RESOURCE",o.HTML_PACKAGE="HTML_PACKAGE"})(On||(On={}));var An;(function(o){o.LAST_WEEK="LAST_WEEK",o.LAST_MONTH="LAST_MONTH",o.LAST_QUARTER="LAST_QUARTER",o.LAST_YEAR="LAST_YEAR"})(An||(An={}));var En;(function(o){o.VALUE="VALUE",o.DATE="DATE",o.RANGE="RANGE"})(En||(En={}));var qt;(function(o){o.OFFICIAL="OFFICIAL",o.AI="AI"})(qt||(qt={}));var wn;(function(o){o.BOOKMARK__CREATE="BOOKMARK__CREATE",o.BOOKMARK__DELETE="BOOKMARK__DELETE",o.CASE_DEFLECTION__START="CASE_DEFLECTION__START",o.CASE_DEFLECTION__OPEN_TICKET="CASE_DEFLECTION__OPEN_TICKET",o.CASE_DEFLECTION__RATE="CASE_DEFLECTION__RATE",o.CHATBOT__RATE="CHATBOT__RATE",o.COLLECTION__CREATE="COLLECTION__CREATE",o.COLLECTION__UPDATE="COLLECTION__UPDATE",o.COLLECTION__DELETE="COLLECTION__DELETE",o.CUSTOM_EVENT__TRIGGER="CUSTOM_EVENT__TRIGGER",o.DOCUMENT__ON_DEMAND_TRANSLATE="DOCUMENT__ON_DEMAND_TRANSLATE",o.DOCUMENT__DOWNLOAD="DOCUMENT__DOWNLOAD",o.DOCUMENT__PRINT="DOCUMENT__PRINT",o.DOCUMENT__PROCESS="DOCUMENT__PROCESS",o.DOCUMENT__RATE="DOCUMENT__RATE",o.DOCUMENT__SEARCH="DOCUMENT__SEARCH",o.DOCUMENT__START_DISPLAY="DOCUMENT__START_DISPLAY",o.DOCUMENT__UNRATE="DOCUMENT__UNRATE",o.FEEDBACK__SEND="FEEDBACK__SEND",o.AI__COMPLETED_QUERY="AI__COMPLETED_QUERY",o.AI__RATE="AI__RATE",o.AI_CASE_DEFLECTION__START="AI_CASE_DEFLECTION__START",o.AI_CASE_DEFLECTION__OPEN_TICKET="AI_CASE_DEFLECTION__OPEN_TICKET",o.KHUB__PROCESS="KHUB__PROCESS",o.KHUB__SEARCH="KHUB__SEARCH",o.LABELS__DOWNLOAD="LABELS__DOWNLOAD",o.LINK__SHARE="LINK__SHARE",o.PAGE__DISPLAY="PAGE__DISPLAY",o.PERSONAL_BOOK__CREATE="PERSONAL_BOOK__CREATE",o.PERSONAL_BOOK__DELETE="PERSONAL_BOOK__DELETE",o.PERSONAL_BOOK__UPDATE="PERSONAL_BOOK__UPDATE",o.PERSONAL_TOPIC__CREATE="PERSONAL_TOPIC__CREATE",o.PERSONAL_TOPIC__UPDATE="PERSONAL_TOPIC__UPDATE",o.PERSONAL_TOPIC__DELETE="PERSONAL_TOPIC__DELETE",o.SAVED_SEARCH__CREATE="SAVED_SEARCH__CREATE",o.SAVED_SEARCH__DELETE="SAVED_SEARCH__DELETE",o.SAVED_SEARCH__UPDATE="SAVED_SEARCH__UPDATE",o.SEARCH_PAGE__SELECT="SEARCH_PAGE__SELECT",o.SEARCH_RESULT__OPEN_BROWSER_CONTEXT_MENU="SEARCH_RESULT__OPEN_BROWSER_CONTEXT_MENU",o.TOPIC__AI_TRANSLATE="TOPIC__AI_TRANSLATE",o.TOPIC__RATE="TOPIC__RATE",o.TOPIC__START_DISPLAY="TOPIC__START_DISPLAY",o.TOPIC__UNRATE="TOPIC__UNRATE",o.USER__LOGIN="USER__LOGIN",o.USER__LOGOUT="USER__LOGOUT",o.HEARTBEAT="HEARTBEAT"})(wn||(wn={}));var In;(function(o){o.STANDARD="STANDARD",o.STRUCTURAL="STRUCTURAL"})(In||(In={}));var Tn;(function(o){o.THIRD_PARTY="THIRD_PARTY",o.OFF_THE_GRID="OFF_THE_GRID",o.CONTENT_PACKAGER="CONTENT_PACKAGER",o.PAGES="PAGES",o.DESIGNED_READER="DESIGNED_READER"})(Tn||(Tn={}));var Rn;(function(o){o.HOMEPAGE="HOMEPAGE",o.CUSTOM="CUSTOM",o.HEADER="HEADER",o.READER="READER",o.TOPIC_TEMPLATE="TOPIC_TEMPLATE",o.SEARCH="SEARCH",o.SEARCH_RESULT="SEARCH_RESULT",o.SEARCH_ANNOUNCEMENT="SEARCH_ANNOUNCEMENT",o.LINK_PREVIEW="LINK_PREVIEW",o.UD_VIEWER="UD_VIEWER",o.ASSET_VIEWER="ASSET_VIEWER"})(Rn||(Rn={}));var Ln;(function(o){o.CLASSIC="CLASSIC",o.CUSTOM="CUSTOM",o.DESIGNER="DESIGNER"})(Ln||(Ln={}));var _n;(function(o){o.AND="AND",o.OR="OR",o.MONOVALUED="MONOVALUED"})(_n||(_n={}));var kn;(function(o){o.NONE="NONE",o.ALPHABET="ALPHABET",o.VERSION="VERSION"})(kn||(kn={}));var Nn;(function(o){o.STARS="STARS",o.LIKE="LIKE",o.DICHOTOMOUS="DICHOTOMOUS",o.NO_RATING="NO_RATING"})(Nn||(Nn={}));var Pn;(function(o){o.LAST_WEEK="LAST_WEEK",o.LAST_MONTH="LAST_MONTH",o.LAST_QUARTER="LAST_QUARTER",o.LAST_YEAR="LAST_YEAR",o.CUSTOM="CUSTOM"})(Pn||(Pn={}));var Dn;(function(o){o.OPTIONAL="OPTIONAL",o.MANDATORY="MANDATORY"})(Dn||(Dn={}));var Mn;(function(o){o.ASC="ASC",o.DESC="DESC"})(Mn||(Mn={}));var Fn;(function(o){o.ALPHA="ALPHA",o.NATURAL="NATURAL"})(Fn||(Fn={}));var Un;(function(o){o.EVERYWHERE="EVERYWHERE",o.TITLE_ONLY="TITLE_ONLY",o.NONE="NONE"})(Un||(Un={}));var Bn;(function(o){o.ARTICLE="ARTICLE",o.BOOK="BOOK",o.SHARED_BOOK="SHARED_BOOK",o.HTML_PACKAGE="HTML_PACKAGE"})(Bn||(Bn={}));var Hn;(function(o){o.FLUIDTOPICS="FLUIDTOPICS",o.EXTERNAL="EXTERNAL"})(Hn||(Hn={}));var Gn;(function(o){o.MAP="MAP",o.DOCUMENT="DOCUMENT",o.TOPIC="TOPIC",o.PERSONAL_BOOK="PERSONAL_BOOK",o.SHARED_BOOK="SHARED_BOOK",o.HTML_PACKAGE="HTML_PACKAGE"})(Gn||(Gn={}));var zn;(function(o){o.LAST_WEEK="LAST_WEEK",o.LAST_MONTH="LAST_MONTH",o.LAST_QUARTER="LAST_QUARTER",o.LAST_YEAR="LAST_YEAR"})(zn||(zn={}));var $n;(function(o){o.MAP="MAP",o.DOCUMENT="DOCUMENT",o.TOPIC="TOPIC",o.HTML_PACKAGE="HTML_PACKAGE",o.HTML_PACKAGE_PAGE="HTML_PACKAGE_PAGE"})($n||($n={}));var Wn;(function(o){o.DEFAULT="DEFAULT",o.DOCUMENTS="DOCUMENTS",o.ALL_TOPICS="ALL_TOPICS",o.TOPICS_AND_UNSTRUCTURED_DOCUMENTS="TOPICS_AND_UNSTRUCTURED_DOCUMENTS"})(Wn||(Wn={}));var jn;(function(o){o.PLAIN_TEXT="PLAIN_TEXT",o.LOCALIZED_OFFICIAL="LOCALIZED_OFFICIAL",o.LOCALIZED_CUSTOM="LOCALIZED_CUSTOM"})(jn||(jn={}));var P;(function(o){o.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",o.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",o.HTML_EXPORT_USER="HTML_EXPORT_USER",o.PDF_EXPORT_USER="PDF_EXPORT_USER",o.SAVED_SEARCH_USER="SAVED_SEARCH_USER",o.COLLECTION_USER="COLLECTION_USER",o.OFFLINE_USER="OFFLINE_USER",o.ANALYTICS_USER="ANALYTICS_USER",o.BETA_USER="BETA_USER",o.DEBUG_USER="DEBUG_USER",o.PRINT_USER="PRINT_USER",o.RATING_USER="RATING_USER",o.FEEDBACK_USER="FEEDBACK_USER",o.GENERATIVE_AI_USER="GENERATIVE_AI_USER",o.GENERATIVE_AI_EXPORT_USER="GENERATIVE_AI_EXPORT_USER",o.CONTENT_PUBLISHER="CONTENT_PUBLISHER",o.BEHAVIOR_DATA_USER="BEHAVIOR_DATA_USER",o.ANNOUNCEMENT_ADMIN="ANNOUNCEMENT_ADMIN",o.KHUB_ADMIN="KHUB_ADMIN",o.USERS_ADMIN="USERS_ADMIN",o.PORTAL_ADMIN="PORTAL_ADMIN",o.ADMIN="ADMIN"})(P||(P={}));var se;(function(o){o.SEARCHES="SEARCHES",o.BOOKMARKS="BOOKMARKS",o.BOOKS="BOOKS",o.COLLECTIONS="COLLECTIONS"})(se||(se={}));var Vn;(function(o){o.UNAUTHENTICATED="UNAUTHENTICATED",o.USER_INCOMPLETE="USER_INCOMPLETE",o.MFA_REQUIRED="MFA_REQUIRED",o.AUTHENTICATED="AUTHENTICATED"})(Vn||(Vn={}));var Kn;(function(o){o.VALID="VALID",o.INVALID="INVALID"})(Kn||(Kn={}));var Zn;(function(o){o.INACCURATE="INACCURATE",o.INCOMPLETE="INCOMPLETE",o.OFF_TOPIC="OFF_TOPIC",o.IRRELEVANT_SOURCES="IRRELEVANT_SOURCES",o.SUMMARY="SUMMARY",o.SEMANTIC_SEARCH="SEMANTIC_SEARCH",o.CHATBOT_INSTRUCTIONS="CHATBOT_INSTRUCTIONS",o.OTHER="OTHER"})(Zn||(Zn={}));var qn;(function(o){o.INACCURATE="INACCURATE",o.INCOMPLETE="INCOMPLETE",o.OFF_TOPIC="OFF_TOPIC",o.IRRELEVANT_SOURCES="IRRELEVANT_SOURCES",o.SLOW="SLOW",o.OTHER="OTHER"})(qn||(qn={}));var Yn;(function(o){o.JSON="JSON",o.TEXT="TEXT"})(Yn||(Yn={}));var Qn;(function(o){o.JSON="JSON",o.TEXT="TEXT"})(Qn||(Qn={}));var Xn;(function(o){o.USER="USER",o.ASSISTANT="ASSISTANT"})(Xn||(Xn={}));var Jn;(function(o){o.TEXT="TEXT",o.HTML="HTML"})(Jn||(Jn={}));var ea;(function(o){o.HTML="HTML",o.MARKDOWN="MARKDOWN"})(ea||(ea={}));var ta;(function(o){o.MAP="MAP",o.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT"})(ta||(ta={}));var Es={[P.PERSONAL_BOOK_SHARE_USER]:[P.PERSONAL_BOOK_USER],[P.HTML_EXPORT_USER]:[P.PERSONAL_BOOK_USER],[P.PDF_EXPORT_USER]:[P.PERSONAL_BOOK_USER],[P.KHUB_ADMIN]:[P.CONTENT_PUBLISHER],[P.ADMIN]:[P.KHUB_ADMIN,P.USERS_ADMIN,P.PORTAL_ADMIN,P.BEHAVIOR_DATA_USER],[P.GENERATIVE_AI_EXPORT_USER]:[P.GENERATIVE_AI_USER]};function ra(o,e){return o===e||(Es[o]??[]).some(r=>ra(r,e))}function be(o,e){return o==null?!1:(Array.isArray(o)?o:Array.isArray(o.roles)?o.roles:Array.isArray(o.profile?.roles)?o.profile.roles:[]).some(n=>ra(n,e))}var xo=S(J());function Is(o,e){if(o===e)return!0;if(o&&e&&typeof o=="object"&&typeof e=="object"){if(o.constructor!==e.constructor)return!1;let r,n,a;if(Array.isArray(o)){if(r=o.length,r!=e.length)return!1;for(n=r;n--!==0;)if(!Yt(o[n],e[n]))return!1;return!0}if(o instanceof Map&&e instanceof Map){if(o.size!==e.size)return!1;for(n of o.entries())if(!e.has(n[0]))return!1;for(n of o.entries())if(!Yt(n[1],e.get(n[0])))return!1;return!0}if(o instanceof Set&&e instanceof Set){if(o.size!==e.size)return!1;for(n of o.entries())if(!e.has(n[0]))return!1;return!0}if(o.constructor===RegExp)return o.source===e.source&&o.flags===e.flags;if(o.valueOf!==Object.prototype.valueOf)return o.valueOf()===e.valueOf();let s=c=>Object.keys(c).filter(d=>c[d]!=null);if(a=s(o),r=a.length,r!==s(e).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(e,a[n]))return!1;for(n=r;n--!==0;){let c=a[n];if(!Yt(o[c],e[c]))return!1}return!0}return o!==o&&e!==e||o==null&&e==null}function Yt(o,e){try{return Is(o,e)}catch{return!1}}function Rt(o,e){return!Yt(o,e)}function oa(o){return typeof window.structuredClone=="function"?structuredClone(o):o!=null?JSON.parse(JSON.stringify(o)):o}function Qt(o,e){let r=n=>n[o]===!0;return n=>{if(r(n))return n;let a=e(n);return a[o]=!0,a}}var na=S(J(),1);var qr=o=>{let e=o??{};return(r,n)=>{var a;let s={hasChanged:Rt,attribute:!1,...e};(0,na.property)(s)(r,n);let c=r.constructor;c.reduxProperties=new Map(c.reduxProperties),c.reduxProperties.set(n,{selector:(a=e.selector)!==null&&a!==void 0?a:d=>d[n],store:e.store})}};var Xt=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 Fe=S(J(),1);var aa=S(J(),1);function ia(o,e){let r=()=>JSON.parse(JSON.stringify(o));return(0,aa.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:Rt,...e??{}})}var Jt=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 a=(e=this.rejectPromise)!==null&&e!==void 0?e:()=>null,s=(r=this.resolvePromise)!==null&&r!==void 0?r:()=>null;this.clearPromise();for(let c of n)try{await c()}catch(d){a(d);return}s(!0)}clearTimeout(){this._debounce!=null&&window.clearTimeout(this._debounce)}clearPromise(){this.promise=void 0,this.resolvePromise=void 0,this.rejectPromise=void 0}};var ca=S(j(),1);var er=globalThis,Ts=er.ShadowRoot&&(er.ShadyCSS===void 0||er.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Rl=Symbol();var sa=(o,e)=>{if(Ts)o.adoptedStyleSheets=e.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(let r of e){let n=document.createElement("style"),a=er.litNonce;a!==void 0&&n.setAttribute("nonce",a),n.textContent=r.cssText,o.appendChild(n)}};var tr=class extends ca.LitElement{createRenderRoot(){let e=this.constructor;e.elementDefinitions&&!e.registry&&(e.registry=new CustomElementRegistry,Object.entries(e.elementDefinitions).forEach(([a,s])=>e.registry.define(a,s)));let r={...e.shadowRootOptions,customElements:e.registry},n=this.renderOptions.creationScope=this.attachShadow(r);return sa(n,e.elementStyles),n}};function la(o,e,...r){var n;let a=o.querySelector(e);for(let s of r)a=(n=a?.shadowRoot)===null||n===void 0?void 0:n.querySelector(s);return a}var at=function(o,e,r,n){var a=arguments.length,s=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,r,n);else for(var d=o.length-1;d>=0;d--)(c=o[d])&&(s=(a<3?c(s):a>3?c(e,r,s):c(e,r))||s);return a>3&&s&&Object.defineProperty(e,r,s),s},fa,da=Symbol("constructorPrototype"),ua=Symbol("constructorName"),ha=Symbol("exportpartsDebouncer"),pa=Symbol("dynamicDependenciesLoaded"),nt=class o extends CustomEvent{constructor(){super(o.eventName,{bubbles:!0})}};nt.eventName="exportparts-updated";var ye=class extends tr{constructor(){super(),this.useAdoptedStyleSheets=!0,this.adoptedCustomStyleSheet=new CSSStyleSheet,this[fa]=new Jt(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[ha].run(()=>{var a,s;!((a=this.exportpartsPrefix)===null||a===void 0)&&a.trim()?this.setExportpartsAttribute([this.exportpartsPrefix]):this.exportpartsPrefixes!=null&&((s=this.exportpartsPrefixes)===null||s===void 0?void 0:s.length)>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)})},this[ua]=this.constructor.name,this[da]=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this[ua]&&Object.setPrototypeOf(this,this[da])}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[pa]||(r[pa]=!0,this.importDynamicDependencies()),(e=this.shadowRoot)===null||e===void 0||e.addEventListener(nt.eventName,this.scheduleExportpartsUpdate)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.shadowRoot)===null||e===void 0||e.removeEventListener(nt.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 nt)})}contentAvailableCallback(e){}focusElementToFocus(e){if(e.has("elementToFocus")&&this.elementToFocus!=null){let{element:r,selector:n,shadowPath:a}=this.elementToFocus;if(n!=null){let s=[...a??[],n];r=la(this.shadowRoot,...s)}r?.focus(),window.FluidTopicsA11yHints.isKeyboardNavigation||r?.blur(),this.elementToFocus=void 0}}applyCustomStylesheet(e){var r,n,a;if(((n=(r=this.shadowRoot)===null||r===void 0?void 0:r.querySelectorAll(".ft-lit-element--custom-stylesheet"))!==null&&n!==void 0?n:[]).forEach(s=>s.remove()),this.useAdoptedStyleSheets){if(e.has("customStylesheet"))try{this.adoptedCustomStyleSheet.replaceSync((a=this.customStylesheet)!==null&&a!==void 0?a:"")}catch(s){console.error(s,this.customStylesheet),this.useAdoptedStyleSheets=!1}}else if(this.customStylesheet){let s=document.createElement("style");s.classList.add("ft-lit-element--custom-stylesheet"),s.innerHTML=this.customStylesheet,this.shadowRoot.append(s)}}setExportpartsAttribute(e){var r,n,a,s,c,d;let u=m=>m!=null&&m.trim().length>0,p=e.filter(u).map(m=>m.trim());if(p.length===0){this.exportparts=void 0;return}let h=new Set;for(let m of(n=(r=this.shadowRoot)===null||r===void 0?void 0:r.querySelectorAll("[part],[exportparts]"))!==null&&n!==void 0?n:[]){let v=(s=(a=m.getAttribute("part"))===null||a===void 0?void 0:a.split(" "))!==null&&s!==void 0?s:[],b=(d=(c=m.getAttribute("exportparts"))===null||c===void 0?void 0:c.split(",").map(w=>w.split(":")[1]))!==null&&d!==void 0?d:[],C=[...v,...b].filter(u).map(w=>w.trim());for(let w of C)h.add(w)}if(h.size===0){this.exportparts=void 0;return}let y=[...h.values()].flatMap(m=>p.map(v=>`${m}:${v}--${m}`));this.exportparts=[...this.part,...y].join(", ")}};fa=ha;at([(0,Fe.property)()],ye.prototype,"exportpartsPrefix",void 0);at([ia([])],ye.prototype,"exportpartsPrefixes",void 0);at([(0,Fe.property)({reflect:!0})],ye.prototype,"exportparts",void 0);at([(0,Fe.property)()],ye.prototype,"customStylesheet",void 0);at([(0,Fe.property)()],ye.prototype,"elementToFocus",void 0);at([(0,Fe.state)()],ye.prototype,"useAdoptedStyleSheets",void 0);function rr(o){var e;return(e=o?.isFtReduxStore)!==null&&e!==void 0?e:!1}var Lt=Symbol("internalReduxEventsUnsubscribers"),Ae=Symbol("internalStoresUnsubscribers"),Ue=Symbol("internalStores"),Rs=Qt(Symbol("withRedux"),function(o){var e,r,n;class a extends o{constructor(){super(...arguments),this[e]=new Map,this[r]=new Map,this[n]=new Map}get reduxConstructor(){return this.constructor}willUpdate(c){super.willUpdate(c),[...this.reduxConstructor.reduxReactiveProperties].some(d=>c.has(d))&&this.updateFromStores()}getUnnamedStore(){if(this[Ue].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[Ue].values()][0]}getStore(c){return c==null?this.getUnnamedStore():this[Ue].get(c)}addStore(c,d){var u;d=(u=d??c.name)!==null&&u!==void 0?u:"default-store",this.unsubscribeFromStore(d),this[Ue].set(d,c),this.subscribeToStore(d,c),this.updateFromStores()}removeStore(c){let d=typeof c=="string"?c:c.name;this.unsubscribeFromStore(d),this[Ue].delete(d)}setupStores(){this.unsubscribeFromStores(),this[Ue].forEach((c,d)=>this.subscribeToStore(d,c)),this.updateFromStores()}updateFromStores(){this.reduxConstructor.reduxProperties.forEach((c,d)=>{let u=this.constructor.getPropertyOptions(d);if(!u?.attribute||!this.hasAttribute(typeof u?.attribute=="string"?u.attribute:d)){let p=this.getStore(c.store);p&&(c.store?this[Ae].has(c.store):this[Ae].size>0)&&(this[d]=c.selector(p.getState(),this))}})}subscribeToStore(c,d){var u;this[Ae].set(c,d.subscribe(()=>this.updateFromStores())),this[Lt].set(c,[]),rr(d)&&d.eventBus&&((u=this.reduxConstructor.reduxEventListeners)===null||u===void 0||u.forEach((p,h)=>{if(typeof this[h]=="function"&&(!p.store||d.name===p.store)){let y=m=>this[h](m);d.addEventListener(p.eventName,y),this[Lt].get(c).push(()=>d.removeEventListener(p.eventName,y))}})),this.onStoreAvailable(c)}unsubscribeFromStores(){this[Ae].forEach((c,d)=>this.unsubscribeFromStore(d))}unsubscribeFromStore(c){var d;this[Ae].has(c)&&this[Ae].get(c)(),this[Ae].delete(c),(d=this[Lt].get(c))===null||d===void 0||d.forEach(u=>u()),this[Lt].delete(c)}onStoreAvailable(c){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}}return e=Ae,r=Ue,n=Lt,a.reduxProperties=new Map,a.reduxReactiveProperties=new Set,a.reduxEventListeners=new Map,a}),ya=class extends Rs(ye){};function ce(o){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 a,s;throw Error("[Immer] minified error nr: "+o+(r.length?" "+r.map(function(c){return"'"+c+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function ve(o){return!!o&&!!o[M]}function pe(o){var e;return!!o&&(function(r){if(!r||typeof r!="object")return!1;var n=Object.getPrototypeOf(r);if(n===null)return!0;var a=Object.hasOwnProperty.call(n,"constructor")&&n.constructor;return a===Object||typeof a=="function"&&Function.toString.call(a)===Fs}(o)||Array.isArray(o)||!!o[Ca]||!!(!((e=o.constructor)===null||e===void 0)&&e[Ca])||no(o)||ao(o))}function Be(o,e,r){r===void 0&&(r=!1),ct(o)===0?(r?Object.keys:st)(o).forEach(function(n){r&&typeof n=="symbol"||e(n,o[n],o)}):o.forEach(function(n,a){return e(a,n,o)})}function ct(o){var e=o[M];return e?e.i>3?e.i-4:e.i:Array.isArray(o)?1:no(o)?2:ao(o)?3:0}function it(o,e){return ct(o)===2?o.has(e):Object.prototype.hasOwnProperty.call(o,e)}function Ls(o,e){return ct(o)===2?o.get(e):o[e]}function Oa(o,e,r){var n=ct(o);n===2?o.set(e,r):n===3?o.add(r):o[e]=r}function Aa(o,e){return o===e?o!==0||1/o==1/e:o!=o&&e!=e}function no(o){return Ds&&o instanceof Map}function ao(o){return Ms&&o instanceof Set}function Ee(o){return o.o||o.t}function io(o){if(Array.isArray(o))return Array.prototype.slice.call(o);var e=Ia(o);delete e[M];for(var r=st(e),n=0;n<r.length;n++){var a=r[n],s=e[a];s.writable===!1&&(s.writable=!0,s.configurable=!0),(s.get||s.set)&&(e[a]={configurable:!0,writable:!0,enumerable:s.enumerable,value:o[a]})}return Object.create(Object.getPrototypeOf(o),e)}function so(o,e){return e===void 0&&(e=!1),co(o)||ve(o)||!pe(o)||(ct(o)>1&&(o.set=o.add=o.clear=o.delete=_s),Object.freeze(o),e&&Be(o,function(r,n){return so(n,!0)},!0)),o}function _s(){ce(2)}function co(o){return o==null||typeof o!="object"||Object.isFrozen(o)}function ge(o){var e=oo[o];return e||ce(18,o),e}function ks(o,e){oo[o]||(oo[o]=e)}function eo(){return kt}function Yr(o,e){e&&(ge("Patches"),o.u=[],o.s=[],o.v=e)}function or(o){to(o),o.p.forEach(Ns),o.p=null}function to(o){o===kt&&(kt=o.l)}function ga(o){return kt={p:[],l:kt,h:o,m:!0,_:0}}function Ns(o){var e=o[M];e.i===0||e.i===1?e.j():e.g=!0}function Qr(o,e){e._=e.p.length;var r=e.p[0],n=o!==void 0&&o!==r;return e.h.O||ge("ES5").S(e,o,n),n?(r[M].P&&(or(e),ce(4)),pe(o)&&(o=nr(e,o),e.l||ar(e,o)),e.u&&ge("Patches").M(r[M].t,o,e.u,e.s)):o=nr(e,r,[]),or(e),e.u&&e.v(e.u,e.s),o!==wa?o:void 0}function nr(o,e,r){if(co(e))return e;var n=e[M];if(!n)return Be(e,function(d,u){return ma(o,n,e,d,u,r)},!0),e;if(n.A!==o)return e;if(!n.P)return ar(o,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var a=n.i===4||n.i===5?n.o=io(n.k):n.o,s=a,c=!1;n.i===3&&(s=new Set(a),a.clear(),c=!0),Be(s,function(d,u){return ma(o,n,a,d,u,r,c)}),ar(o,a,!1),r&&o.u&&ge("Patches").N(n,r,o.u,o.s)}return n.o}function ma(o,e,r,n,a,s,c){if(ve(a)){var d=nr(o,a,s&&e&&e.i!==3&&!it(e.R,n)?s.concat(n):void 0);if(Oa(r,n,d),!ve(d))return;o.m=!1}else c&&r.add(a);if(pe(a)&&!co(a)){if(!o.h.D&&o._<1)return;nr(o,a),e&&e.A.l||ar(o,a)}}function ar(o,e,r){r===void 0&&(r=!1),!o.l&&o.h.D&&o.m&&so(e,r)}function Xr(o,e){var r=o[M];return(r?Ee(r):o)[e]}function ba(o,e){if(e in o)for(var r=Object.getPrototypeOf(o);r;){var n=Object.getOwnPropertyDescriptor(r,e);if(n)return n;r=Object.getPrototypeOf(r)}}function we(o){o.P||(o.P=!0,o.l&&we(o.l))}function Jr(o){o.o||(o.o=io(o.t))}function ro(o,e,r){var n=no(e)?ge("MapSet").F(e,r):ao(e)?ge("MapSet").T(e,r):o.O?function(a,s){var c=Array.isArray(a),d={i:c?1:0,A:s?s.A:eo(),P:!1,I:!1,R:{},l:s,t:a,k:null,o:null,j:null,C:!1},u=d,p=Nt;c&&(u=[d],p=_t);var h=Proxy.revocable(u,p),y=h.revoke,m=h.proxy;return d.k=m,d.j=y,m}(e,r):ge("ES5").J(e,r);return(r?r.A:eo()).p.push(n),n}function Ps(o){return ve(o)||ce(22,o),function e(r){if(!pe(r))return r;var n,a=r[M],s=ct(r);if(a){if(!a.P&&(a.i<4||!ge("ES5").K(a)))return a.t;a.I=!0,n=va(r,s),a.I=!1}else n=va(r,s);return Be(n,function(c,d){a&&Ls(a.t,c)===d||Oa(n,c,e(d))}),s===3?new Set(n):n}(o)}function va(o,e){switch(e){case 2:return new Map(o);case 3:return Array.from(o)}return io(o)}function Ea(){function o(c,d){var u=s[c];return u?u.enumerable=d:s[c]=u={configurable:!0,enumerable:d,get:function(){var p=this[M];return Nt.get(p,c)},set:function(p){var h=this[M];Nt.set(h,c,p)}},u}function e(c){for(var d=c.length-1;d>=0;d--){var u=c[d][M];if(!u.P)switch(u.i){case 5:n(u)&&we(u);break;case 4:r(u)&&we(u)}}}function r(c){for(var d=c.t,u=c.k,p=st(u),h=p.length-1;h>=0;h--){var y=p[h];if(y!==M){var m=d[y];if(m===void 0&&!it(d,y))return!0;var v=u[y],b=v&&v[M];if(b?b.t!==m:!Aa(v,m))return!0}}var C=!!d[M];return p.length!==st(d).length+(C?0:1)}function n(c){var d=c.k;if(d.length!==c.t.length)return!0;var u=Object.getOwnPropertyDescriptor(d,d.length-1);if(u&&!u.get)return!0;for(var p=0;p<d.length;p++)if(!d.hasOwnProperty(p))return!0;return!1}function a(c){c.g&&ce(3,JSON.stringify(Ee(c)))}var s={};ks("ES5",{J:function(c,d){var u=Array.isArray(c),p=function(y,m){if(y){for(var v=Array(m.length),b=0;b<m.length;b++)Object.defineProperty(v,""+b,o(b,!0));return v}var C=Ia(m);delete C[M];for(var w=st(C),I=0;I<w.length;I++){var T=w[I];C[T]=o(T,y||!!C[T].enumerable)}return Object.create(Object.getPrototypeOf(m),C)}(u,c),h={i:u?5:4,A:d?d.A:eo(),P:!1,I:!1,R:{},l:d,t:c,k:p,o:null,g:!1,C:!1};return Object.defineProperty(p,M,{value:h,writable:!0}),p},S:function(c,d,u){u?ve(d)&&d[M].A===c&&e(c.p):(c.u&&function p(h){if(h&&typeof h=="object"){var y=h[M];if(y){var m=y.t,v=y.k,b=y.R,C=y.i;if(C===4)Be(v,function(_){_!==M&&(m[_]!==void 0||it(m,_)?b[_]||p(v[_]):(b[_]=!0,we(y)))}),Be(m,function(_){v[_]!==void 0||it(v,_)||(b[_]=!1,we(y))});else if(C===5){if(n(y)&&(we(y),b.length=!0),v.length<m.length)for(var w=v.length;w<m.length;w++)b[w]=!1;else for(var I=m.length;I<v.length;I++)b[I]=!0;for(var T=Math.min(v.length,m.length),D=0;D<T;D++)v.hasOwnProperty(D)||(b[D]=!0),b[D]===void 0&&p(v[D])}}}}(c.p[0]),e(c.p))},K:function(c){return c.i===4?r(c):n(c)}})}var xa,kt,lo=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Ds=typeof Map<"u",Ms=typeof Set<"u",Sa=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",wa=lo?Symbol.for("immer-nothing"):((xa={})["immer-nothing"]=!0,xa),Ca=lo?Symbol.for("immer-draftable"):"__$immer_draftable",M=lo?Symbol.for("immer-state"):"__$immer_state";var Fs=""+Object.prototype.constructor,st=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(o){return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o))}:Object.getOwnPropertyNames,Ia=Object.getOwnPropertyDescriptors||function(o){var e={};return st(o).forEach(function(r){e[r]=Object.getOwnPropertyDescriptor(o,r)}),e},oo={},Nt={get:function(o,e){if(e===M)return o;var r=Ee(o);if(!it(r,e))return function(a,s,c){var d,u=ba(s,c);return u?"value"in u?u.value:(d=u.get)===null||d===void 0?void 0:d.call(a.k):void 0}(o,r,e);var n=r[e];return o.I||!pe(n)?n:n===Xr(o.t,e)?(Jr(o),o.o[e]=ro(o.A.h,n,o)):n},has:function(o,e){return e in Ee(o)},ownKeys:function(o){return Reflect.ownKeys(Ee(o))},set:function(o,e,r){var n=ba(Ee(o),e);if(n?.set)return n.set.call(o.k,r),!0;if(!o.P){var a=Xr(Ee(o),e),s=a?.[M];if(s&&s.t===r)return o.o[e]=r,o.R[e]=!1,!0;if(Aa(r,a)&&(r!==void 0||it(o.t,e)))return!0;Jr(o),we(o)}return o.o[e]===r&&(r!==void 0||e in o.o)||Number.isNaN(r)&&Number.isNaN(o.o[e])||(o.o[e]=r,o.R[e]=!0),!0},deleteProperty:function(o,e){return Xr(o.t,e)!==void 0||e in o.t?(o.R[e]=!1,Jr(o),we(o)):delete o.R[e],o.o&&delete o.o[e],!0},getOwnPropertyDescriptor:function(o,e){var r=Ee(o),n=Reflect.getOwnPropertyDescriptor(r,e);return n&&{writable:!0,configurable:o.i!==1||e!=="length",enumerable:n.enumerable,value:r[e]}},defineProperty:function(){ce(11)},getPrototypeOf:function(o){return Object.getPrototypeOf(o.t)},setPrototypeOf:function(){ce(12)}},_t={};Be(Nt,function(o,e){_t[o]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}}),_t.deleteProperty=function(o,e){return _t.set.call(this,o,e,void 0)},_t.set=function(o,e,r){return Nt.set.call(this,o[0],e,r,o[0])};var Us=function(){function o(r){var n=this;this.O=Sa,this.D=!0,this.produce=function(a,s,c){if(typeof a=="function"&&typeof s!="function"){var d=s;s=a;var u=n;return function(C){var w=this;C===void 0&&(C=d);for(var I=arguments.length,T=Array(I>1?I-1:0),D=1;D<I;D++)T[D-1]=arguments[D];return u.produce(C,function(_){var $;return($=s).call.apply($,[w,_].concat(T))})}}var p;if(typeof s!="function"&&ce(6),c!==void 0&&typeof c!="function"&&ce(7),pe(a)){var h=ga(n),y=ro(n,a,void 0),m=!0;try{p=s(y),m=!1}finally{m?or(h):to(h)}return typeof Promise<"u"&&p instanceof Promise?p.then(function(C){return Yr(h,c),Qr(C,h)},function(C){throw or(h),C}):(Yr(h,c),Qr(p,h))}if(!a||typeof a!="object"){if((p=s(a))===void 0&&(p=a),p===wa&&(p=void 0),n.D&&so(p,!0),c){var v=[],b=[];ge("Patches").M(a,p,v,b),c(v,b)}return p}ce(21,a)},this.produceWithPatches=function(a,s){if(typeof a=="function")return function(p){for(var h=arguments.length,y=Array(h>1?h-1:0),m=1;m<h;m++)y[m-1]=arguments[m];return n.produceWithPatches(p,function(v){return a.apply(void 0,[v].concat(y))})};var c,d,u=n.produce(a,s,function(p,h){c=p,d=h});return typeof Promise<"u"&&u instanceof Promise?u.then(function(p){return[p,c,d]}):[u,c,d]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze)}var e=o.prototype;return e.createDraft=function(r){pe(r)||ce(8),ve(r)&&(r=Ps(r));var n=ga(this),a=ro(this,r,void 0);return a[M].C=!0,to(n),a},e.finishDraft=function(r,n){var a=r&&r[M],s=a.A;return Yr(s,n),Qr(void 0,s)},e.setAutoFreeze=function(r){this.D=r},e.setUseProxies=function(r){r&&!Sa&&ce(20),this.O=r},e.applyPatches=function(r,n){var a;for(a=n.length-1;a>=0;a--){var s=n[a];if(s.path.length===0&&s.op==="replace"){r=s.value;break}}a>-1&&(n=n.slice(a+1));var c=ge("Patches").$;return ve(r)?c(r,n):this.produce(r,function(d){return c(d,n)})},o}(),re=new Us,Bs=re.produce,Wl=re.produceWithPatches.bind(re),jl=re.setAutoFreeze.bind(re),Vl=re.setUseProxies.bind(re),Kl=re.applyPatches.bind(re),Zl=re.createDraft.bind(re),ql=re.finishDraft.bind(re),ir=Bs;function He(o){"@babel/helpers - typeof";return He=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},He(o)}function Ta(o,e){if(He(o)!="object"||!o)return o;var r=o[Symbol.toPrimitive];if(r!==void 0){var n=r.call(o,e||"default");if(He(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(o)}function Ra(o){var e=Ta(o,"string");return He(e)=="symbol"?e:e+""}function La(o,e,r){return(e=Ra(e))in o?Object.defineProperty(o,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):o[e]=r,o}function _a(o,e){var r=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(o,a).enumerable})),r.push.apply(r,n)}return r}function uo(o){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?_a(Object(r),!0).forEach(function(n){La(o,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):_a(Object(r)).forEach(function(n){Object.defineProperty(o,n,Object.getOwnPropertyDescriptor(r,n))})}return o}function K(o){return"Minified Redux error #"+o+"; visit https://redux.js.org/Errors?code="+o+" for the full message or use the non-minified dev environment for full errors. "}var ka=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}(),po=function(){return Math.random().toString(36).substring(7).split("").join(".")},sr={INIT:"@@redux/INIT"+po(),REPLACE:"@@redux/REPLACE"+po(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+po()}};function Hs(o){if(typeof o!="object"||o===null)return!1;for(var e=o;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(o)===e}function fo(o,e,r){var n;if(typeof e=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(K(0));if(typeof e=="function"&&typeof r>"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(K(1));return r(fo)(o,e)}if(typeof o!="function")throw new Error(K(2));var a=o,s=e,c=[],d=c,u=!1;function p(){d===c&&(d=c.slice())}function h(){if(u)throw new Error(K(3));return s}function y(C){if(typeof C!="function")throw new Error(K(4));if(u)throw new Error(K(5));var w=!0;return p(),d.push(C),function(){if(w){if(u)throw new Error(K(6));w=!1,p();var T=d.indexOf(C);d.splice(T,1),c=null}}}function m(C){if(!Hs(C))throw new Error(K(7));if(typeof C.type>"u")throw new Error(K(8));if(u)throw new Error(K(9));try{u=!0,s=a(s,C)}finally{u=!1}for(var w=c=d,I=0;I<w.length;I++){var T=w[I];T()}return C}function v(C){if(typeof C!="function")throw new Error(K(10));a=C,m({type:sr.REPLACE})}function b(){var C,w=y;return C={subscribe:function(T){if(typeof T!="object"||T===null)throw new Error(K(11));function D(){T.next&&T.next(h())}D();var _=w(D);return{unsubscribe:_}}},C[ka]=function(){return this},C}return m({type:sr.INIT}),n={dispatch:m,subscribe:y,getState:h,replaceReducer:v},n[ka]=b,n}function Gs(o){Object.keys(o).forEach(function(e){var r=o[e],n=r(void 0,{type:sr.INIT});if(typeof n>"u")throw new Error(K(12));if(typeof r(void 0,{type:sr.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(K(13))})}function Na(o){for(var e=Object.keys(o),r={},n=0;n<e.length;n++){var a=e[n];typeof o[a]=="function"&&(r[a]=o[a])}var s=Object.keys(r),c,d;try{Gs(r)}catch(u){d=u}return function(p,h){if(p===void 0&&(p={}),d)throw d;if(0)var y;for(var m=!1,v={},b=0;b<s.length;b++){var C=s[b],w=r[C],I=p[C],T=w(I,h);if(typeof T>"u"){var D=h&&h.type;throw new Error(K(14))}v[C]=T,m=m||T!==I}return m=m||s.length!==Object.keys(p).length,m?v:p}}function lt(){for(var o=arguments.length,e=new Array(o),r=0;r<o;r++)e[r]=arguments[r];return e.length===0?function(n){return n}:e.length===1?e[0]:e.reduce(function(n,a){return function(){return n(a.apply(void 0,arguments))}})}function Pa(){for(var o=arguments.length,e=new Array(o),r=0;r<o;r++)e[r]=arguments[r];return function(n){return function(){var a=n.apply(void 0,arguments),s=function(){throw new Error(K(15))},c={getState:a.getState,dispatch:function(){return s.apply(void 0,arguments)}},d=e.map(function(u){return u(c)});return s=lt.apply(void 0,d)(a.dispatch),uo(uo({},a),{},{dispatch:s})}}}function Da(o){var e=function(n){var a=n.dispatch,s=n.getState;return function(c){return function(d){return typeof d=="function"?d(a,s,o):c(d)}}};return e}var Ma=Da();Ma.withExtraArgument=Da;var ho=Ma;var Ga=function(){var o=function(e,r){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,a){n.__proto__=a}||function(n,a){for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(n[s]=a[s])},o(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");o(e,r);function n(){this.constructor=e}e.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),zs=function(o,e){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,a,s,c;return c={next:d(0),throw:d(1),return:d(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function d(p){return function(h){return u([p,h])}}function u(p){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,a&&(s=p[0]&2?a.return:p[0]?a.throw||((s=a.return)&&s.call(a),0):a.next)&&!(s=s.call(a,p[1])).done)return s;switch(a=0,s&&(p=[p[0]&2,s.value]),p[0]){case 0:case 1:s=p;break;case 4:return r.label++,{value:p[1],done:!1};case 5:r.label++,a=p[1],p=[0];continue;case 7:p=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]<s[3])){r.label=p[1];break}if(p[0]===6&&r.label<s[1]){r.label=s[1],s=p;break}if(s&&r.label<s[2]){r.label=s[2],r.ops.push(p);break}s[2]&&r.ops.pop(),r.trys.pop();continue}p=e.call(o,r)}catch(h){p=[6,h],a=0}finally{n=s=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}},dt=function(o,e){for(var r=0,n=e.length,a=o.length;r<n;r++,a++)o[a]=e[r];return o},$s=Object.defineProperty,Ws=Object.defineProperties,js=Object.getOwnPropertyDescriptors,Fa=Object.getOwnPropertySymbols,Vs=Object.prototype.hasOwnProperty,Ks=Object.prototype.propertyIsEnumerable,Ua=function(o,e,r){return e in o?$s(o,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[e]=r},Ie=function(o,e){for(var r in e||(e={}))Vs.call(e,r)&&Ua(o,r,e[r]);if(Fa)for(var n=0,a=Fa(e);n<a.length;n++){var r=a[n];Ks.call(e,r)&&Ua(o,r,e[r])}return o},yo=function(o,e){return Ws(o,js(e))},Zs=function(o,e,r){return new Promise(function(n,a){var s=function(u){try{d(r.next(u))}catch(p){a(p)}},c=function(u){try{d(r.throw(u))}catch(p){a(p)}},d=function(u){return u.done?n(u.value):Promise.resolve(u.value).then(s,c)};d((r=r.apply(o,e)).next())})};var qs=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?lt:lt.apply(null,arguments)},fd=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(o){return o}};function Ys(o){if(typeof o!="object"||o===null)return!1;var e=Object.getPrototypeOf(o);if(e===null)return!0;for(var r=e;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return e===r}function Te(o,e){function r(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];if(e){var s=e.apply(void 0,n);if(!s)throw new Error("prepareAction did not return an object");return Ie(Ie({type:o,payload:s.payload},"meta"in s&&{meta:s.meta}),"error"in s&&{error:s.error})}return{type:o,payload:n[0]}}return r.toString=function(){return""+o},r.type=o,r.match=function(n){return n.type===o},r}var Qs=function(o){Ga(e,o);function e(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var a=o.apply(this,r)||this;return Object.setPrototypeOf(a,e.prototype),a}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 o.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,dt([void 0],r[0].concat(this)))):new(e.bind.apply(e,dt([void 0],r.concat(this))))},e}(Array),Xs=function(o){Ga(e,o);function e(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var a=o.apply(this,r)||this;return Object.setPrototypeOf(a,e.prototype),a}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 o.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,dt([void 0],r[0].concat(this)))):new(e.bind.apply(e,dt([void 0],r.concat(this))))},e}(Array);function bo(o){return pe(o)?ir(o,function(){}):o}function Js(o){return typeof o=="boolean"}function ec(){return function(e){return tc(e)}}function tc(o){o===void 0&&(o={});var e=o.thunk,r=e===void 0?!0:e,n=o.immutableCheck,a=n===void 0?!0:n,s=o.serializableCheck,c=s===void 0?!0:s,d=o.actionCreatorCheck,u=d===void 0?!0:d,p=new Qs;if(r&&(Js(r)?p.push(ho):p.push(ho.withExtraArgument(r.extraArgument))),0){if(a)var h;if(c)var y;if(u)var m}return p}var go=!0;function za(o){var e=ec(),r=o||{},n=r.reducer,a=n===void 0?void 0:n,s=r.middleware,c=s===void 0?e():s,d=r.devTools,u=d===void 0?!0:d,p=r.preloadedState,h=p===void 0?void 0:p,y=r.enhancers,m=y===void 0?void 0:y,v;if(typeof a=="function")v=a;else if(Ys(a))v=Na(a);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 b=c;if(typeof b=="function"&&(b=b(e),!go&&!Array.isArray(b)))throw new Error("when using a middleware builder function, an array of middleware must be returned");if(!go&&b.some(function(_){return typeof _!="function"}))throw new Error("each middleware provided to configureStore must be a function");var C=Pa.apply(void 0,b),w=lt;u&&(w=qs(Ie({trace:!go},typeof u=="object"&&u)));var I=new Xs(C),T=I;Array.isArray(m)?T=dt([C],m):typeof m=="function"&&(T=m(I));var D=w.apply(void 0,T);return fo(v,h,D)}function $a(o){var e={},r=[],n,a={addCase:function(s,c){var d=typeof s=="string"?s:s.type;if(!d)throw new Error("`builder.addCase` cannot be called with an empty action type");if(d in e)throw new Error("`builder.addCase` cannot be called with two reducers for the same action type");return e[d]=c,a},addMatcher:function(s,c){return r.push({matcher:s,reducer:c}),a},addDefaultCase:function(s){return n=s,a}};return o(a),[e,r,n]}function rc(o){return typeof o=="function"}function oc(o,e,r,n){r===void 0&&(r=[]);var a=typeof e=="function"?$a(e):[e,r,n],s=a[0],c=a[1],d=a[2],u;if(rc(o))u=function(){return bo(o())};else{var p=bo(o);u=function(){return p}}function h(y,m){y===void 0&&(y=u());var v=dt([s[m.type]],c.filter(function(b){var C=b.matcher;return C(m)}).map(function(b){var C=b.reducer;return C}));return v.filter(function(b){return!!b}).length===0&&(v=[d]),v.reduce(function(b,C){if(C)if(ve(b)){var w=b,I=C(w,m);return I===void 0?b:I}else{if(pe(b))return ir(b,function(T){return C(T,m)});var I=C(b,m);if(I===void 0){if(b===null)return b;throw Error("A case reducer on a non-draftable value must not return undefined")}return I}return b},y)}return h.getInitialState=u,h}function nc(o,e){return o+"/"+e}function Wa(o){var e=o.name;if(!e)throw new Error("`name` is a required option for createSlice");typeof process<"u";var r=typeof o.initialState=="function"?o.initialState:bo(o.initialState),n=o.reducers||{},a=Object.keys(n),s={},c={},d={};a.forEach(function(h){var y=n[h],m=nc(e,h),v,b;"reducer"in y?(v=y.reducer,b=y.prepare):v=y,s[h]=v,c[m]=v,d[h]=b?Te(m,b):Te(m)});function u(){var h=typeof o.extraReducers=="function"?$a(o.extraReducers):[o.extraReducers],y=h[0],m=y===void 0?{}:y,v=h[1],b=v===void 0?[]:v,C=h[2],w=C===void 0?void 0:C,I=Ie(Ie({},m),c);return oc(r,function(T){for(var D in I)T.addCase(D,I[D]);for(var _=0,$=b;_<$.length;_++){var ue=$[_];T.addMatcher(ue.matcher,ue.reducer)}w&&T.addDefaultCase(w)})}var p;return{name:e,reducer:function(h,y){return p||(p=u()),p(h,y)},actions:d,caseReducers:s,getInitialState:function(){return p||(p=u()),p.getInitialState()}}}var ac="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",ic=function(o){o===void 0&&(o=21);for(var e="",r=o;r--;)e+=ac[Math.random()*64|0];return e},sc=["name","message","stack","code"],mo=function(){function o(e,r){this.payload=e,this.meta=r}return o}(),Ba=function(){function o(e,r){this.payload=e,this.meta=r}return o}(),cc=function(o){if(typeof o=="object"&&o!==null){for(var e={},r=0,n=sc;r<n.length;r++){var a=n[r];typeof o[a]=="string"&&(e[a]=o[a])}return e}return{message:String(o)}},md=function(){function o(e,r,n){var a=Te(e+"/fulfilled",function(h,y,m,v){return{payload:h,meta:yo(Ie({},v||{}),{arg:m,requestId:y,requestStatus:"fulfilled"})}}),s=Te(e+"/pending",function(h,y,m){return{payload:void 0,meta:yo(Ie({},m||{}),{arg:y,requestId:h,requestStatus:"pending"})}}),c=Te(e+"/rejected",function(h,y,m,v,b){return{payload:v,error:(n&&n.serializeError||cc)(h||"Rejected"),meta:yo(Ie({},b||{}),{arg:m,requestId:y,rejectedWithValue:!!v,requestStatus:"rejected",aborted:h?.name==="AbortError",condition:h?.name==="ConditionError"})}}),d=!1,u=typeof AbortController<"u"?AbortController:function(){function h(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return h.prototype.abort=function(){},h}();function p(h){return function(y,m,v){var b=n?.idGenerator?n.idGenerator(h):ic(),C=new u,w,I=!1;function T(_){w=_,C.abort()}var D=function(){return Zs(this,null,function(){var _,$,ue,ke,X,Ne,Xe;return zs(this,function(f){switch(f.label){case 0:return f.trys.push([0,4,,5]),ke=(_=n?.condition)==null?void 0:_.call(n,h,{getState:m,extra:v}),dc(ke)?[4,ke]:[3,2];case 1:ke=f.sent(),f.label=2;case 2:if(ke===!1||C.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return I=!0,X=new Promise(function(g,E){return C.signal.addEventListener("abort",function(){return E({name:"AbortError",message:w||"Aborted"})})}),y(s(b,h,($=n?.getPendingMeta)==null?void 0:$.call(n,{requestId:b,arg:h},{getState:m,extra:v}))),[4,Promise.race([X,Promise.resolve(r(h,{dispatch:y,getState:m,extra:v,requestId:b,signal:C.signal,abort:T,rejectWithValue:function(g,E){return new mo(g,E)},fulfillWithValue:function(g,E){return new Ba(g,E)}})).then(function(g){if(g instanceof mo)throw g;return g instanceof Ba?a(g.payload,b,h,g.meta):a(g,b,h)})])];case 3:return ue=f.sent(),[3,5];case 4:return Ne=f.sent(),ue=Ne instanceof mo?c(null,b,h,Ne.payload,Ne.meta):c(Ne,b,h),[3,5];case 5:return Xe=n&&!n.dispatchConditionRejection&&c.match(ue)&&ue.meta.condition,Xe||y(ue),[2,ue]}})})}();return Object.assign(D,{abort:T,requestId:b,arg:h,unwrap:function(){return D.then(lc)}})}}return Object.assign(p,{pending:s,rejected:c,fulfilled:a,typePrefix:e})}return o.withTypes=function(){return o},o}();function lc(o){if(o.meta&&o.meta.rejectedWithValue)throw o.payload;if(o.error)throw o.error;return o.payload}function dc(o){return o!==null&&typeof o=="object"&&typeof o.then=="function"}var ja="listener",Va="completed",Ka="cancelled",bd="task-"+Ka,vd="task-"+Va,xd=ja+"-"+Ka,Sd=ja+"-"+Va;var vo="listenerMiddleware";var Cd=Te(vo+"/add"),Od=Te(vo+"/removeAll"),Ad=Te(vo+"/remove");var Ha,Ed=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:typeof global<"u"?global:globalThis):function(o){return(Ha||(Ha=Promise.resolve())).then(o).catch(function(e){return setTimeout(function(){throw e},0)})},uc=function(o){return function(e){setTimeout(e,o)}},wd=typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:uc(10);Ea();var pc=Qt(Symbol("withEventBus"),function(o,e){return class extends o{constructor(){super(...arguments),this.eventBus=e??document.createElement("span")}addEventListener(r,n,a){this.eventBus.addEventListener(r,n,a)}dispatchEvent(r){return this.eventBus.dispatchEvent(r)}removeEventListener(r,n,a){this.eventBus.removeEventListener(r,n,a)}}}),cr=class extends pc(Object){};window.ftReduxStores||(window.ftReduxStores={});var Za=class o extends cr{static get(e){var r;let n=typeof e=="string"?e:e.name,a=typeof e=="string"?void 0:e,s=window.ftReduxStores[n];if(rr(s))return s;if(a==null)return;let c=Wa({...a,reducers:(r=a.reducers)!==null&&r!==void 0?r:{}}),d=za({reducer:(u,p)=>{if(p.type==="CLEAR_FT_REDUX_STORE"){let h=oa(c.getInitialState());for(let y of p.keeping)h[y]=(u??h)[y];return h}else if(typeof p.type=="string"&&p.type.startsWith("DEFAULT_VALUE_SETTER__"))return{...u,...p.overwrites};return c.reducer(u,p)}});return window.ftReduxStores[a.name]=new o(c,d,a.eventBus)}constructor(e,r,n){super(),this.reduxSlice=e,this.reduxStore=r,this.isFtReduxStore=!0,this.commands=new Xt;let a=s=>s!=null?JSON.parse(JSON.stringify(s)):s;this.actions=new Proxy(this.reduxSlice.actions,{get:(s,c,d)=>{let u=c,p=s[u];return p?(...h)=>{let y=p(...h.map(a));return this.reduxStore.dispatch(y),y}:h=>{this.setState({[u]:a(h)})}}}),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 lr=class{static format(e,r,n,a,s){return window.moment?window.moment(e).locale(r).format(this.getMomentDateFormat(n,a,!!s)):this.getIntlDateTime(e,r,n,a,!!s)}static getMomentDateFormat(e,r,n){return n?"LT":e?r?"lll":"ll":r?"L LT":"L"}static getIntlDateTime(e,r,n,a,s){let c=typeof e=="string"?new Date(e):e,d=new Intl.DateTimeFormat(r,{dateStyle:n?"medium":"short"}).format(c),u=new Intl.DateTimeFormat(r,{timeStyle:"short"}).format(c);return s?u:a?`${d} ${u}`:d}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 dr=S(L()),fc="ft-app-info",xe=class o extends CustomEvent{constructor(e){super(o.eventName,{detail:e})}};xe.eventName="authentication-change";var Pt=class o extends CustomEvent{constructor(e){super(o.eventName,{detail:e})}};Pt.eventName="ui-locale-changed";var hc={session:(o,e)=>{(0,dr.deepEqual)(o.session,e.payload)||(o.session=e.payload,setTimeout(()=>O.dispatchEvent(new xe(e.payload)),0))}},O=dr.FtReduxStore.get({name:fc,reducers:hc,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 qa=S(L()),ur=function(o,e,r,n){var a=arguments.length,s=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,r,n);else for(var d=o.length-1;d>=0;d--)(c=o[d])&&(s=(a<3?c(s):a>3?c(e,r,s):c(e,r))||s);return a>3&&s&&Object.defineProperty(e,r,s),s},eu=(0,qa.applyMixinOnce)(Symbol("withDateFormat"),function(o){class e extends o{constructor(...n){super(n),this.useLongDateFormat=!1,this.useDateTimeFormat=!1,this.metadataDescriptors=[],this.uiLocale="en-US",this.addStore(O)}dateFormatOptionsChanged(n){return n.has("metadataDescriptors")||n.has("useLongDateFormat")||n.has("useDateTimeFormat")||n.has("uiLocale")}getDateFormatter(n){var a,s;return((s=(a=this.metadataDescriptors.find(d=>d.key===n))===null||a===void 0?void 0:a.date)!==null&&s!==void 0?s:!1)?d=>lr.format(d,this.uiLocale,this.useLongDateFormat,this.useDateTimeFormat):void 0}}return ur([(0,xo.property)({type:Boolean})],e.prototype,"useLongDateFormat",void 0),ur([(0,xo.property)({type:Boolean})],e.prototype,"useDateTimeFormat",void 0),ur([qr({store:O.name,selector:r=>{var n,a;return(a=(n=r.metadataConfiguration)===null||n===void 0?void 0:n.descriptors)!==null&&a!==void 0?a:[]}})],e.prototype,"metadataDescriptors",void 0),ur([qr({store:O.name})],e.prototype,"uiLocale",void 0),e});var gr=S(L());var So=S(L());var Ge=class o{static get(e){let{baseUrl:r,apiIntegrationIdentifier:n}=O.getState(),a=e??n;if(r&&a&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(r,a,!0)}static await(e){return new Promise(r=>{let n=o.get(e);if(n)r(n);else{let a=O.subscribe(()=>{n=o.get(e),n&&(a(),r(n))})}})}};var ut=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 Z=class extends ut{constructor(e=!0,r){var n;super(r),this.sortObjectFields=(s,c)=>typeof c!="object"||c==null||Array.isArray(c)?c:Object.fromEntries(Object.entries(c).sort(([d],[u])=>d.localeCompare(u)));let a=this.constructor;a.commonCache=(n=a.commonCache)!==null&&n!==void 0?n:new So.CacheRegistry,this.cache=e?a.commonCache:new So.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 pr=class extends Z{async listMySearches(){let{session:e}=O.getState();return be(e,P.SAVED_SEARCH_USER)?this.cache.get("my-searches",async()=>(await this.awaitApi).listMySearches(e.profile.userId),5*60*1e3):[]}};var fr=class extends Z{async listMyBookmarks(){let e=O.getState().session;return e?.sessionAuthenticated?this.cache.get("my-bookmarks",async()=>(await this.awaitApi).listMyBookmarks(e.profile.userId),5*60*1e3):[]}};var hr=class extends Z{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=O.getState().session;return!!e?.sessionAuthenticated}};var yr=class extends Z{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=O.getState().session;return!!e?.sessionAuthenticated}};var yc="ft-user-assets",gc={setAssetCount:(o,e)=>{let{userAssetType:r,count:n}=e.payload.assetCount;o.assetCounts.allAsset[r]=n},clearAssetCount:o=>{Object.values(se).forEach(e=>{o.assetCounts.allAsset[e]=void 0})},setBookmarkCountByMap:(o,e)=>{let r=e.payload.mapId;o.assetCounts.bookmarkByMap[r]=e.payload.count},clearBookmarkCountByMap:o=>{o.assetCounts.bookmarkByMap={}},addAsset:(o,e)=>{let{assetType:r,mapId:n,asset:a}=e.payload;Oo(o,r,[...Co(o,r),a]),Ya(o,r,1,n),Qa(o,a)},editAsset:(o,e)=>{let{assetType:r,asset:n}=e.payload;Oo(o,r,Co(o,r).map(a=>a.id===n.id?n:a)),Qa(o,n)},removeAsset:(o,e)=>{let{assetType:r,mapId:n,assetId:a}=e.payload;Oo(o,r,Co(o,r).filter(s=>s.id!==a)),Ya(o,r,-1,n)}},Xa={[se.SEARCHES]:"savedSearches",[se.BOOKMARKS]:"bookmarks",[se.BOOKS]:void 0,[se.COLLECTIONS]:void 0},Co=(o,e)=>{var r;let n=Xa[e];return n?(r=o[n])!==null&&r!==void 0?r:[]:[]},Oo=(o,e,r)=>{let n=Xa[e];n&&(o[n]=r)},Ya=(o,e,r,n)=>{let a=o.assetCounts.allAsset[e];if(a!==void 0&&(o.assetCounts.allAsset[e]=Math.max(0,a+r),e===se.BOOKMARKS&&n)){let s=o.assetCounts.bookmarkByMap[n];o.assetCounts.bookmarkByMap[n]=Math.max(0,s+r)}},Qa=(o,e)=>{let r=o.assetLabels.map(a=>a.title),n=e.labels.filter(a=>!r.includes(a)).map(a=>({title:a}));o.assetLabels.push(...n)},oe=gr.FtReduxStore.get({name:yc,reducers:gc,initialState:{savedSearches:void 0,bookmarks:void 0,assetCounts:{allAsset:Object.fromEntries(Object.values(se).map(o=>[o,void 0])),bookmarkByMap:{}},assetLabels:[]}}),Ao=class{constructor(e=new hr,r=new yr){this.assetCountsService=e,this.assetLabelsService=r,this.currentSession=O.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new fr,this.savedSearchesService=new pr,O.subscribe(()=>this.reloadWhenUserSessionChanges())}reloadWhenUserSessionChanges(){var e;let{session:r}=O.getState();(0,gr.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(),oe.actions.clearAssetCount(),oe.actions.clearBookmarkCountByMap()}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){this.savedSearchesService.clearCache(),oe.actions.savedSearches(void 0)}clearMyBookmarks(){this.bookmarksService.clearCache(),oe.actions.bookmarks(void 0)}async reloadMySearches(){this.savedSearchesService.clearCache();let e=await this.savedSearchesService.listMySearches();oe.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async reloadAssetLabels(){this.assetLabelsService.clearCache();let e=await this.assetLabelsService.getUserAssetLabels();oe.actions.assetLabels(e)}async loadAssetCount(e){let r=await this.assetCountsService.getUserAssetCount(e);r&&oe.actions.setAssetCount({assetCount:r})}async loadBookmarkByMapId(e){let r=await this.assetCountsService.getUserBookmarkCountByMap(e);r&&oe.actions.setBookmarkCountByMap({count:r.count,mapId:e})}async reloadAssetCount(e){this.assetCountsService.clearCache();let r=Object.keys(oe.getState().assetCounts.bookmarkByMap).length!==0;e===se.BOOKMARKS&&r&&oe.actions.clearBookmarkCountByMap(),oe.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;oe.actions.bookmarks(r)}}},Eo=new Ao;window.FluidTopicsUserAssetsActions==null&&(window.FluidTopicsUserAssetsActions=Eo);var wo=class{addCommand(e,r=!1){O.commands.add(e,r)}consumeCommand(e){return O.commands.consume(e)}};window.FluidTopicsAppInfoStoreService=new wo;var le=S(L());var Ja,pt=class extends CustomEvent{constructor(e){super("ft-i18n-context-loaded",{detail:e})}},mc=Symbol("clearAfterUnitTest"),mr=class extends(0,le.withEventBus)(Z){constructor(e){super(),this.messageContextProvider=e,this.defaultMessages={},this.listeners={},this.currentUiLocale="",this[Ja]=()=>{this.defaultMessages={},this.cache=new le.CacheRegistry,this.listeners={}},this.currentUiLocale=O.getState().uiLocale,O.subscribe(()=>this.clearWhenUiLocaleChanges())}clearWhenUiLocaleChanges(){let{uiLocale:e}=O.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 a={...(n=this.defaultMessages[e])!==null&&n!==void 0?n:{},...r};(0,le.deepEqual)(this.defaultMessages[e],a)||(this.defaultMessages[e]=a,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 a;let s=e.toLowerCase(),c=this.resolveContext(s);return new le.ParametrizedLabelResolver((a=this.defaultMessages[s])!==null&&a!==void 0?a:{},c).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(a){!(a instanceof le.CanceledPromiseError)&&r&&console.error(a)}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 a;return(a=this.listeners[e])===null||a===void 0?void 0:a.delete(r)}}async notifyAll(){let e=Object.keys(this.listeners);document.body.dispatchEvent(new pt({loadedContexts:e})),this.dispatchEvent(new pt({loadedContexts:e})),await Promise.all(e.map(r=>this.notify(r,!1)))}async notify(e,r=!0){r&&(document.body.dispatchEvent(new pt({loadedContexts:[e]})),this.dispatchEvent(new pt({loadedContexts:[e]}))),this.listeners[e]!=null&&await Promise.all([...this.listeners[e].values()].map(n=>(0,le.delay)(0).then(()=>n()).catch(()=>null)))}};Ja=mc;window.FluidTopicsI18nService==null&&(window.FluidTopicsI18nService=new class extends mr{constructor(){super(async(o,e)=>(await this.awaitApi).getFluidTopicsMessageContext(o,e))}});window.FluidTopicsCustomI18nService==null&&(window.FluidTopicsCustomI18nService=new class extends mr{constructor(){super(async(o,e)=>(await this.awaitApi).getCustomMessageContext(o,e))}});var ei=window.FluidTopicsI18nService,Du=window.FluidTopicsCustomI18nService;var ti=S(L()),Io=class{highlightHtml(e,r,n){(0,ti.highlightHtml)(e,r,n)}};window.FluidTopicsHighlightHtmlService=new Io;var ri=S(L());var To=class{isDate(e){var r,n,a,s;return(s=(a=((n=(r=O.getState().metadataConfiguration)===null||r===void 0?void 0:r.descriptors)!==null&&n!==void 0?n:[]).find(d=>d.key===e))===null||a===void 0?void 0:a.date)!==null&&s!==void 0?s:!1}format(e,r){var n,a,s,c;if(e==null)return"";try{return ri.DateFormatter.format(e,(n=r?.locale)!==null&&n!==void 0?n:O.getState().uiLocale,(a=r?.longFormat)!==null&&a!==void 0?a:!1,(s=r?.withTime)!==null&&s!==void 0?s:!1,(c=r?.onlyTime)!==null&&c!==void 0?c:!1)}catch(d){throw console.error(`Date ${JSON.stringify(e)} is not valid`,d),d}}};window.FluidTopicsDateService=new To;var oi=S(L());var Dt=class{static get(e,r){var n,a;let s=O.getState(),{lang:c,region:d}=(a=(n=s.defaultLocales)===null||n===void 0?void 0:n.defaultContentLocale)!==null&&a!==void 0?a:{lang:"en",region:"US"};return new oi.SearchPlaceConverter(s.baseUrl,e??20,s.searchInAllLanguagesAllowed,r??`${c}-${d}`)}};var br=class extends Z{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,a])=>Array.isArray(a)?[n,a.map(s=>typeof s=="object"&&s!=null&&!Array.isArray(s)?this.sortEventArrays(s):s).sort((s,c)=>typeof s=="object"&&s!==null&&"key"in s?s.key.localeCompare(c.key):typeof s=="string"&&typeof c=="string"?s.localeCompare(c):String(s).localeCompare(String(c)))]:typeof a=="object"&&a!==null?[n,this.sortEventArrays(a)]:[n,a]);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(a=>(console.info(r),console.debug(a),n)),1e3)}};var Ro=class{urlToSearchRequest(e){return Dt.get().parse(e)}searchRequestToUrl(e){return Dt.get().serialize(e)}};window.FluidTopicsUrlService=new Ro;var Re=S(L());var ze=class o extends CustomEvent{constructor(e){super(o.eventName,{detail:{currentItem:e}})}};ze.eventName="change";var Lo=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))}},ni=new Lo;var vr=class o extends Re.WithEventBus{static build(){return new o(window.history,ni,()=>window.location,!1)}constructor(e,r,n,a){var s,c;super(),this.history=e,this.historyStorage=r,this.windowLocation=n,this.states=[],this.realPushState=e.pushState,this.realReplaceState=e.replaceState,this.initialIndex=(c=(s=e.state)===null||s===void 0?void 0:s.index)!==null&&c!==void 0?c:e.length-1,this.currentIndex=this.initialIndex,this.setCurrentState(this.buildCurrentState()),this.installProxies(),this.initEventListeners(),this.initData(a)}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,Re.deepEqual)(this.currentState,this.history.state)||this.realReplaceState.apply(this.history,[this.currentState,this.currentState.title,window.location.href]),setTimeout(()=>this.dispatchEvent(new ze(this.currentItem())),0)}installProxies(){let e=r=>(n,a,[s,c,d])=>{let u=r(),p={...u===this.currentIndex?this.currentState:void 0,...s,index:u,href:typeof d=="string"?d:(d??this.windowLocation()).href};n.apply(a,[p,c,d]),this.setCurrentState(p,!0)};this.history.pushState=new Proxy(this.history.pushState,{apply:e(()=>this.currentIndex+1)}),this.history.replaceState=new Proxy(this.history.replaceState,{apply:e(()=>this.currentIndex)})}initEventListeners(){window.addEventListener("popstate",e=>this.setCurrentState(e.state)),document.querySelector("title")==null&&document.head.append(document.createElement("title")),new MutationObserver(()=>this.updateCurrentState({title:document.title})).observe(document.querySelector("title"),{subtree:!0,characterData:!0,childList:!0})}initData(e){for(let r=this.history.length-1;r>=0;r--)e?this.states[r]=this.historyStorage.get(r):setTimeout(()=>this.states[r]=this.historyStorage.get(r),this.history.length-r)}updateCurrentState(e){var r;let n={...this.buildCurrentState(),...e,index:this.currentIndex,title:(r=e?.title)!==null&&r!==void 0?r:this.currentState.title};this.setCurrentState(n)}addHistoryChangeListener(e){this.addEventListener(ze.eventName,e)}removeHistoryChangeListener(e){this.removeEventListener(ze.eventName,e)}currentItem(){return(0,Re.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,Re.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,Re.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 a=e,s=e+1;for(;this.states.length>s&&!this.isDifferentMajorState(s,n);)this.hasState(s)&&(a=s),s++;return a}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 a=r??this.currentState.majorStateId,s=(n=this.states[e])===null||n===void 0?void 0:n.majorStateId;return s==null||s!=a}};window.FluidTopicsInternalHistoryService==null&&(window.FluidTopicsInternalHistoryService=vr.build(),window.FluidTopicsHistoryService={currentItem:()=>window.FluidTopicsInternalHistoryService.currentItem(),back:()=>window.FluidTopicsInternalHistoryService.back(),forward:()=>window.FluidTopicsInternalHistoryService.forward(),backwardItem:()=>window.FluidTopicsInternalHistoryService.backwardItem(),forwardItem:()=>window.FluidTopicsInternalHistoryService.forwardItem(),addHistoryChangeListener:o=>window.FluidTopicsInternalHistoryService.addHistoryChangeListener(o),removeHistoryChangeListener:o=>window.FluidTopicsInternalHistoryService.removeHistoryChangeListener(o)});var ai=S(j());var ii=ai.css`
|
|
50
50
|
`;var li=S(j()),ne=S(J()),We=S(L());var $e=S(L());function si(o,e){let{authenticationRequired:r,session:n}=O.getState();return r&&!n?.sessionAuthenticated?Promise.resolve(e):o()}var xr=class extends ut{async updateUiLocale(e){return(await this.awaitApi).updateUiLocale(e)}};var _o=class o extends $e.FtStateManager{static build(e){return new o(O,e)}constructor(e,r){super(),this.store=e,this.cache=new $e.CacheRegistry,this.withManualResources=!0,this.localesConfiguration=null,this.userLocaleService=new xr,this.cleanSessionDebouncer=new $e.Debouncer,this.reloadDebouncer=new $e.Debouncer(500),this.apiProvider=r??(()=>Ge.get())}setWithManualResources(e){this.withManualResources=e,this.updateIfNeeded()}async initService(){this.store.addEventListener(xe.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",()=>si(()=>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,a,s,c;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((a=this.localesConfiguration.searchLanguageSetsUiLanguage)!==null&&a!==void 0?a:!1),this.store.actions.uiLanguageSetsSearchLanguage((s=this.localesConfiguration.uiLanguageSetsSearchLanguage)!==null&&s!==void 0?s:!1),this.store.actions.uiLanguageSetsReaderLanguage((c=this.localesConfiguration.uiLanguageSetsReaderLanguage)!==null&&c!==void 0?c:!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 Pt(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)}},ci=_o.build();var q=function(o,e,r,n){var a=arguments.length,s=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,r,n);else for(var d=o.length-1;d>=0;d--)(c=o[d])&&(s=(a<3?c(s):a>3?c(e,r,s):c(e,r))||s);return a>3&&s&&Object.defineProperty(e,r,s),s},B=class extends We.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=ci}render(){return li.html`
|
|
51
51
|
<slot></slot>
|
|
52
|
-
`}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=>ei.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())}};B.elementDefinitions={};B.styles=ii;q([(0,ne.property)()],B.prototype,"baseUrl",void 0);q([(0,ne.property)()],B.prototype,"apiIntegrationIdentifier",void 0);q([(0,ne.property)()],B.prototype,"apiIntegrationAppVersion",void 0);q([(0,ne.property)()],B.prototype,"uiLocale",void 0);q([(0,We.jsonProperty)(null)],B.prototype,"availableUiLocales",void 0);q([(0,We.jsonProperty)(null)],B.prototype,"metadataConfiguration",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"editorMode",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"noCustom",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"openExternalDocumentInNewTab",void 0);q([(0,ne.property)({converter:{fromAttribute(o){return o==="false"?!1:o==="true"||(o??!1)}}})],B.prototype,"noCustomComponent",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"withManualResources",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"navigatorOnline",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"forcedOffline",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"authenticationRequired",void 0);q([(0,We.jsonProperty)([])],B.prototype,"messageContexts",void 0);q([(0,We.jsonProperty)(void 0)],B.prototype,"session",void 0);var di=S(L());(0,di.customElement)("ft-app-context")(B);var Sr=class extends Z{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 be((r=(e=O.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&r!==void 0?r:[],"RATING_USER")?this.withMapId(a=>this.fetchMapRating(a)):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,a;let s=this.getMapNow(r);return s?.prettyUrl==e||`${s?.id}/root`===e?(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.toc[0]:(a=this.getEnrichedTocNow(r))===null||a===void 0?void 0:a.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 a=await this.getTopicInfo(n);return a?.metadata.find(s=>s.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 a=this.getNavigationData(e,r,n),s=this.getReaderLinkPrefix()+(a.prettyUrl?a.prettyUrl:`${a.mapId}/${a.tocId}`),c=new URL(s,this.api.tenantBaseUrl);return a.page!=null&&c.searchParams.set("page",`${a.page}`),a.prettyUrlDuplicated&&c.searchParams.set("tocId",a.tocId),a.section!=null&&c.searchParams.set("section",a.section),c.href}getNavigationData(e,r,n,a){var s,c;e=e||"root";let d=this.getEnrichedTocNow(a),u=d?.pageByTocId[e],p=d?.nodeByTocId[e],h=p?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(s=p?.title)!==null&&s!==void 0?s:"",untranslatedTopicTitle:p?.untranslatedTitle,page:r&&u&&u.number!==r?r:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(c=d?.duplicatedPrettyUrls.has(h??""))!==null&&c!==void 0?c:!1,section:n}}async getAccurateNavigationData(e,r,n,a){return await this.getEnrichedToc(a),this.getNavigationData(e,r,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(r=>{var n;return r?{type:r.topics.type,rating:(n=r.topics)===null||n===void 0?void 0:n.ratings.find(a=>a.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=O.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),a=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],s=this.getTocNodeNow(n.parentTocId,r);for(;s;)a.unshift({tocId:s.tocId,title:s.title,untranslatedTitle:s.untranslatedTitle}),s=this.getTocNodeNow(s.parentTocId,r);return a}isFeatureAccessible(e,{session:r}){var n;if(!this.isFeatureAvailable(e))return!1;switch(e){case me.FEEDBACK:return be(r??[],P.FEEDBACK_USER);case me.RATING:return be(r??[],P.RATING_USER);case me.PRINT:return be(r??[],P.PRINT_USER);case me.BOOKMARK:return!!r?.sessionAuthenticated;case me.COLLECTIONS:return be(r??[],P.COLLECTION_USER);case me.PERSONAL_BOOKS:return be(r??[],P.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var Cr=class o extends Sr{static async build(e){return new o(new Vt,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 a={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(a)}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 bc="topicPivot";function ui(o,e){let r=new URL(o);return e?.values.forEach(n=>{r.searchParams.append(bc,n)}),r.href}var Or=class o{static build(e,r){return new o(mn(e.trim()||"context"),r??Cr.build)}loaded(){return(0,ee.waitUntil)(()=>this._loaded)}constructor(e,r,n,a){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new ee.Debouncer(10),this.analyticsEventsService=a??new br,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,ee.waitFor)(()=>this.service)}async navigateToTopic(e,r,n){await this.loaded();let a=await this.awaitService(),s=await(n!=null?a.getPage(n,this.getTranslationSettings()):a.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(s);let c=this.resolveValidNonRootTocId(e,s);this.store.actions.scrollTarget({tocId:c,section:r}),this.store.getState().visibleTopics[0]!==c&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,r){var n,a,s;let c=(n=e==="root"?void 0:e)!==null&&n!==void 0?n:r.rootTocId;return r.topics.includes(c)?c:(s=(a=r.topics[0])!==null&&a!==void 0?a:r.hiddenTopics[0])!==null&&s!==void 0?s:"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,a,s,c;try{e&&this.setTranslationLoading(!0);let d=u=>{throw e&&this.setTranslationError(!0),u};await Promise.all([this.loadConfiguration(),(r=this.service)===null||r===void 0?void 0:r.getMap(e).then(u=>this.store.actions.map(u)).catch(d),(n=this.service)===null||n===void 0?void 0:n.getToc(e).then(u=>this.store.actions.toc(u)).catch(d),(a=this.service)===null||a===void 0?void 0:a.getPagesToc(e).then(u=>this.store.actions.pagesToc(u)).catch(d),(s=this.service)===null||s===void 0?void 0:s.getPaginationConfiguration().then(u=>this.store.actions.paginationConfiguration(u)).catch(d),(c=this.service)===null||c===void 0?void 0:c.getTranslationError(e).then(u=>this.setTranslationError(u))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(d){this.errorHandler&&!(d instanceof ee.CanceledPromiseError)&&this.errorHandler(d)}}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(a=>{var s;return a.key==((s=this.store.getState().configuration)===null||s===void 0?void 0:s.relativePivotMetadata)}).flatMap(a=>a.values);if(n!==void 0&&n.length>0){let a=await((r=this.service)===null||r===void 0?void 0:r.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n)),s=a?.results.flatMap(c=>c.entries);this.store.actions.relatives(s)}this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(De.clusteringHelperCreated))}createClusteringHelper(){var e,r;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let a=n.find(c=>{var d;return((d=c.map)===null||d===void 0?void 0:d.mapId)==this.store.getState().mapId}),s=(r=(e=O.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&r!==void 0?r:[];return new ee.ClusteringHelper(n,a,this.metadataForSwitchToRelatives,s)}}async navigateToRelativeTopicIfFound(e){var r,n,a;await this.loaded();let s=await(0,ee.waitFor)(()=>{var p;return(p=this.store.getState().configuration)===null||p===void 0?void 0:p.relativeTopicPivotMetadata}),c=this.store.getState().mapId,u=await(await this.awaitService()).getRelativesForTopicInMap(c,s,[e]);if(!((a=(n=(r=u?.results)===null||r===void 0?void 0:r[0])===null||n===void 0?void 0:n.entries)===null||a===void 0)&&a[0]){let p=u.results[0].entries[0].topic.tocId;return await this.navigateToTopic(p),!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 a=this.getTranslationSettings();return a?(this.sendTopicAiTranslateEvent(a.destinationLanguage,e),(r=this.service)===null||r===void 0?void 0:r.getTranslatedTopicContent(e,a).then(s=>(s.isTranslationError&&this.setTranslationError(!0),s.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(De.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var r,n,a;this.store.getState().relatives==null&&await this.fetchRelatives();let s=ee.ClusteringHelper.findResultWithMetadataValue((r=this.store.getState().relatives)!==null&&r!==void 0?r:[],"ft:locale",e),c=(0,ee.accessResultUrl)(s);if(c){let d=this.store.getState().visibleTopics[0],u=(n=this.store.getState().configuration)===null||n===void 0?void 0:n.relativeTopicPivotMetadata;if(u&&d){let p=await((a=this.service)===null||a===void 0?void 0:a.getTopicMetadataValue(d,u));c=ui(c,p)}}return c}sendDocumentOnDemandTranslateEvent(e){let{editorMode:r,apiIntegrationIdentifier:n,apiIntegrationAppVersion:a}=O.getState(),s=this.store.getState(),c=s.map,d=s.translation.profileId;if(!(r||!c||!n||!a||!d))try{let u=this.analyticsEventsService.convertMapToAnalyticsDocument(c);this.analyticsEventsService.sendDocumentOnDemandTranslateEvent({name:"DOCUMENT__ON_DEMAND_TRANSLATE",offline:!1,appName:n,appVersion:a,sourceLanguage:this.parseLanguageToAnalyticsFormat(c.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e.code),profileId:d,document:u,translationOrigin:qt.AI})}catch(u){console.warn("Failed to send on-demand document translate event:",u)}}sendTopicAiTranslateEvent(e,r){let{editorMode:n,apiIntegrationIdentifier:a,apiIntegrationAppVersion:s}=O.getState(),c=this.store.getState(),d=c.map,u=c.translation.profileId;if(!(n||!d||!a||!s||!u))try{let p=this.buildBreadcrumb(r.tocId);if(!p){console.warn("Failed to build breadcrumb for topic ai translate event");return}let h=this.analyticsEventsService.convertMapToAnalyticsDocument(d);this.analyticsEventsService.sendTopicAiTranslateEvent({name:"TOPIC__AI_TRANSLATE",offline:!1,appName:a,appVersion:s,sourceLanguage:this.parseLanguageToAnalyticsFormat(d.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e),breadcrumb:p.map(y=>({tocId:y.tocId,title:y.title,mapId:d.id,mapTitle:d.title})),document:h,profileId:u})}catch(p){console.warn("Failed to send topic ai translate event:",p)}}parseLanguageToAnalyticsFormat(e){if(!e)return;let r=e.split("-");return r.length===2?{languageCode:r[0],countryCode:r[1]}:{languageCode:r[0],countryCode:""}}};var Ar=class extends CustomEvent{constructor(e,r){super("ft-reader-map-loaded",{detail:{map:e,toc:r}})}},Er=class extends CustomEvent{constructor(e,r){super("ft-reader-visible-topics-change",{detail:{visibleTopics:r}})}},wr=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},Ir=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},Tr=class extends Event{constructor(){super("ft-reader-map-not-found")}},Rr=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Lr=class extends Event{constructor(){super("ft-reader-map-forbidden")}},_r=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var te=function(o,e,r,n){var a=arguments.length,s=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,r,n);else for(var d=o.length-1;d>=0;d--)(c=o[d])&&(s=(a<3?c(s):a>3?c(e,r,s):c(e,r))||s);return a>3&&s&&Object.defineProperty(e,r,s),s},ko=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}},H=class extends G.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new G.Debouncer(5),this.navigationDebouncer=new G.Debouncer(10),this.mapLoadedEventDebouncer=new G.Debouncer(50),this.addStore(O)}render(){return Mt.html`
|
|
52
|
+
`}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=>ei.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())}};B.elementDefinitions={};B.styles=ii;q([(0,ne.property)()],B.prototype,"baseUrl",void 0);q([(0,ne.property)()],B.prototype,"apiIntegrationIdentifier",void 0);q([(0,ne.property)()],B.prototype,"apiIntegrationAppVersion",void 0);q([(0,ne.property)()],B.prototype,"uiLocale",void 0);q([(0,We.jsonProperty)(null)],B.prototype,"availableUiLocales",void 0);q([(0,We.jsonProperty)(null)],B.prototype,"metadataConfiguration",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"editorMode",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"noCustom",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"openExternalDocumentInNewTab",void 0);q([(0,ne.property)({converter:{fromAttribute(o){return o==="false"?!1:o==="true"||(o??!1)}}})],B.prototype,"noCustomComponent",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"withManualResources",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"navigatorOnline",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"forcedOffline",void 0);q([(0,ne.property)({type:Boolean})],B.prototype,"authenticationRequired",void 0);q([(0,We.jsonProperty)([])],B.prototype,"messageContexts",void 0);q([(0,We.jsonProperty)(void 0)],B.prototype,"session",void 0);var di=S(L());(0,di.customElement)("ft-app-context")(B);var Sr=class extends Z{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 be((r=(e=O.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&r!==void 0?r:[],"RATING_USER")?this.withMapId(a=>this.fetchMapRating(a)):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,a;let s=this.getMapNow(r);return s?.prettyUrl==e||`${s?.id}/root`===e?(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.toc[0]:(a=this.getEnrichedTocNow(r))===null||a===void 0?void 0:a.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 a=await this.getTopicInfo(n);return a?.metadata.find(s=>s.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 a=this.getNavigationData(e,r,n),s=this.getReaderLinkPrefix()+(a.prettyUrl?a.prettyUrl:`${a.mapId}/${a.tocId}`),c=new URL(s,this.api.tenantBaseUrl);return a.page!=null&&c.searchParams.set("page",`${a.page}`),a.prettyUrlDuplicated&&c.searchParams.set("tocId",a.tocId),a.section!=null&&c.searchParams.set("section",a.section),c.href}getNavigationData(e,r,n,a){var s,c;e=e||"root";let d=this.getEnrichedTocNow(a),u=d?.pageByTocId[e],p=d?.nodeByTocId[e],h=p?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(s=p?.title)!==null&&s!==void 0?s:"",untranslatedTopicTitle:p?.untranslatedTitle,page:r&&u&&u.number!==r?r:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(c=d?.duplicatedPrettyUrls.has(h??""))!==null&&c!==void 0?c:!1,section:n}}async getAccurateNavigationData(e,r,n,a){return await this.getEnrichedToc(a),this.getNavigationData(e,r,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(r=>{var n;return r?{type:r.topics.type,rating:(n=r.topics)===null||n===void 0?void 0:n.ratings.find(a=>a.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=O.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),a=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],s=this.getTocNodeNow(n.parentTocId,r);for(;s;)a.unshift({tocId:s.tocId,title:s.title,untranslatedTitle:s.untranslatedTitle}),s=this.getTocNodeNow(s.parentTocId,r);return a}isFeatureAccessible(e,{session:r}){var n;if(!this.isFeatureAvailable(e))return!1;switch(e){case me.FEEDBACK:return be(r??[],P.FEEDBACK_USER);case me.RATING:return be(r??[],P.RATING_USER);case me.PRINT:return be(r??[],P.PRINT_USER);case me.BOOKMARK:return!!r?.sessionAuthenticated;case me.COLLECTIONS:return be(r??[],P.COLLECTION_USER);case me.PERSONAL_BOOKS:return be(r??[],P.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var Cr=class o extends Sr{static async build(e){return new o(new Vt,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 a={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(a)}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 bc="topicPivot";function ui(o,e){let r=new URL(o);return e?.values.forEach(n=>{r.searchParams.append(bc,n)}),r.href}var Or=class o{static build(e,r){return new o(mn(e.trim()||"context"),r??Cr.build)}loaded(){return(0,ee.waitUntil)(()=>this._loaded)}constructor(e,r,n,a){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new ee.Debouncer(10),this.analyticsEventsService=a??new br,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,ee.waitFor)(()=>this.service)}async navigateToTopic(e,r,n){await this.loaded();let a=await this.awaitService(),s=await(n!=null?a.getPage(n,this.getTranslationSettings()):a.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(s);let c=this.resolveValidNonRootTocId(e,s);this.store.actions.scrollTarget({tocId:c,section:r}),this.store.getState().visibleTopics[0]!==c&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,r){var n,a,s;let c=(n=e==="root"?void 0:e)!==null&&n!==void 0?n:r.rootTocId;return r.topics.includes(c)?c:(s=(a=r.topics[0])!==null&&a!==void 0?a:r.hiddenTopics[0])!==null&&s!==void 0?s:"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,a,s,c;try{e&&this.setTranslationLoading(!0);let d=u=>{throw e&&this.setTranslationError(!0),u};await Promise.all([this.loadConfiguration(),(r=this.service)===null||r===void 0?void 0:r.getMap(e).then(u=>this.store.actions.map(u)).catch(d),(n=this.service)===null||n===void 0?void 0:n.getToc(e).then(u=>this.store.actions.toc(u)).catch(d),(a=this.service)===null||a===void 0?void 0:a.getPagesToc(e).then(u=>this.store.actions.pagesToc(u)).catch(d),(s=this.service)===null||s===void 0?void 0:s.getPaginationConfiguration().then(u=>this.store.actions.paginationConfiguration(u)).catch(d),(c=this.service)===null||c===void 0?void 0:c.getTranslationError(e).then(u=>this.setTranslationError(u))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(d){this.errorHandler&&!(d instanceof ee.CanceledPromiseError)&&this.errorHandler(d)}}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(a=>{var s;return a.key==((s=this.store.getState().configuration)===null||s===void 0?void 0:s.relativePivotMetadata)}).flatMap(a=>a.values);if(n!==void 0&&n.length>0){let a=await((r=this.service)===null||r===void 0?void 0:r.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n)),s=a?.results.flatMap(c=>c.entries);this.store.actions.relatives(s)}this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(De.clusteringHelperCreated))}createClusteringHelper(){var e,r;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let a=n.find(c=>{var d;return((d=c.map)===null||d===void 0?void 0:d.mapId)==this.store.getState().mapId}),s=(r=(e=O.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&r!==void 0?r:[];return new ee.ClusteringHelper(n,a,this.metadataForSwitchToRelatives,s)}}async navigateToRelativeTopicIfFound(e){var r,n,a;await this.loaded();let s=await(0,ee.waitFor)(()=>{var p;return(p=this.store.getState().configuration)===null||p===void 0?void 0:p.relativeTopicPivotMetadata}),c=this.store.getState().mapId,u=await(await this.awaitService()).getRelativesForTopicInMap(c,s,[e]);if(!((a=(n=(r=u?.results)===null||r===void 0?void 0:r[0])===null||n===void 0?void 0:n.entries)===null||a===void 0)&&a[0]){let p=u.results[0].entries[0].topic.tocId;return await this.navigateToTopic(p),!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 a=this.getTranslationSettings();return a?(this.sendTopicAiTranslateEvent(a.destinationLanguage,e),(r=this.service)===null||r===void 0?void 0:r.getTranslatedTopicContent(e,a).then(s=>(s.isTranslationError&&this.setTranslationError(!0),s.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(De.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var r,n,a;this.store.getState().relatives==null&&await this.fetchRelatives();let s=ee.ClusteringHelper.findResultWithMetadataValue((r=this.store.getState().relatives)!==null&&r!==void 0?r:[],"ft:locale",e),c=(0,ee.accessResultUrl)(s);if(c){let d=this.store.getState().visibleTopics[0],u=(n=this.store.getState().configuration)===null||n===void 0?void 0:n.relativeTopicPivotMetadata;if(u&&d){let p=await((a=this.service)===null||a===void 0?void 0:a.getTopicMetadataValue(d,u));c=ui(c,p)}}return c}sendDocumentOnDemandTranslateEvent(e){let{editorMode:r,apiIntegrationIdentifier:n,apiIntegrationAppVersion:a}=O.getState(),s=this.store.getState(),c=s.map,d=s.translation.profileId;if(!(r||!c||!n||!a||!d))try{let u=this.analyticsEventsService.convertMapToAnalyticsDocument(c);this.analyticsEventsService.sendDocumentOnDemandTranslateEvent({name:"DOCUMENT__ON_DEMAND_TRANSLATE",offline:!1,appName:n,appVersion:a,sourceLanguage:this.parseLanguageToAnalyticsFormat(c.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e.code),profileId:d,document:u,translationOrigin:qt.AI})}catch(u){console.warn("Failed to send on-demand document translate event:",u)}}sendTopicAiTranslateEvent(e,r){let{editorMode:n,apiIntegrationIdentifier:a,apiIntegrationAppVersion:s}=O.getState(),c=this.store.getState(),d=c.map,u=c.translation.profileId;if(!(n||!d||!a||!s||!u))try{let p=this.buildBreadcrumb(r.tocId);if(!p){console.warn("Failed to build breadcrumb for topic ai translate event");return}let h=this.analyticsEventsService.convertMapToAnalyticsDocument(d);this.analyticsEventsService.sendTopicAiTranslateEvent({name:"TOPIC__AI_TRANSLATE",offline:!1,appName:a,appVersion:s,sourceLanguage:this.parseLanguageToAnalyticsFormat(d.lang),destinationLanguage:this.parseLanguageToAnalyticsFormat(e),breadcrumb:p.map(y=>({tocId:y.tocId,title:y.title})),document:h,profileId:u})}catch(p){console.warn("Failed to send topic ai translate event:",p)}}parseLanguageToAnalyticsFormat(e){if(!e)return;let r=e.split("-");return r.length===2?{languageCode:r[0],countryCode:r[1]}:{languageCode:r[0],countryCode:""}}};var Ar=class extends CustomEvent{constructor(e,r){super("ft-reader-map-loaded",{detail:{map:e,toc:r}})}},Er=class extends CustomEvent{constructor(e,r){super("ft-reader-visible-topics-change",{detail:{visibleTopics:r}})}},wr=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},Ir=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},Tr=class extends Event{constructor(){super("ft-reader-map-not-found")}},Rr=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Lr=class extends Event{constructor(){super("ft-reader-map-forbidden")}},_r=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var te=function(o,e,r,n){var a=arguments.length,s=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,r,n);else for(var d=o.length-1;d>=0;d--)(c=o[d])&&(s=(a<3?c(s):a>3?c(e,r,s):c(e,r))||s);return a>3&&s&&Object.defineProperty(e,r,s),s},ko=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}},H=class extends G.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new G.Debouncer(5),this.navigationDebouncer=new G.Debouncer(10),this.mapLoadedEventDebouncer=new G.Debouncer(50),this.addStore(O)}render(){return Mt.html`
|
|
53
53
|
${this.importStyleIfNeeded()}
|
|
54
54
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
55
55
|
`}importStyleIfNeeded(){var e,r;let n=(e=this.stateManager.service)===null||e===void 0?void 0:e.themeStylesheet();return!n||window.location.href.startsWith((r=this.baseUrl)!==null&&r!==void 0?r:"")?Mt.nothing:Mt.html`
|
|
@@ -132,7 +132,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:o.extend("--ftds-con
|
|
|
132
132
|
`;var dp={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]}},Il=r=>je.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:dp});var Ti=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(m=>this.nodeByTocId[m.tocId]),topics:[],hiddenTopics:[],breadcrumb:t?this.buildBreadcrumb(this.nodeByTocId[t]):[]},h=(m,y)=>(y?f.topics:f.hiddenTopics).push(m),p=(l=(s=e.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return f.breadcrumb.forEach((m,y)=>{h(m,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}},No=class{convertPaginatedToc(e,t){return new Ti(e,t).build()}};var up="ft-app-info",Ke=class r extends CustomEvent{constructor(e){super(r.eventName,{detail:e})}};Ke.eventName="authentication-change";var Xr=class r extends CustomEvent{constructor(e){super(r.eventName,{detail:e})}};Xr.eventName="ui-locale-changed";var fp={session:(r,e)=>{pe(r.session,e.payload)||(r.session=e.payload,setTimeout(()=>L.dispatchEvent(new Ke(e.payload)),0))}},L=je.get({name:up,reducers:fp,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 Mo=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},WS=te(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(L)}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=>At.format(l,this.uiLocale,this.useLongDateFormat,this.useDateTimeFormat):void 0}}return Mo([A({type:Boolean})],e.prototype,"useLongDateFormat",void 0),Mo([A({type:Boolean})],e.prototype,"useDateTimeFormat",void 0),Mo([G({store:L.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),Mo([G({store:L.name})],e.prototype,"uiLocale",void 0),e});var Lt=class r{static get(e){let{baseUrl:t,apiIntegrationIdentifier:n}=L.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=L.subscribe(()=>{n=r.get(e),n&&(a(),t(n))})}})}};var lr=class{constructor(e){this.overrideApi=e}get api(){var e;return(e=this.overrideApi)!==null&&e!==void 0?e:Lt.get()}get awaitApi(){return this.overrideApi?Promise.resolve(this.overrideApi):Lt.await()}};var ie=class extends lr{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 _e,this.cache=e?a.commonCache:new _e}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 Fo=class extends ie{async listMySearches(){let{session:e}=L.getState();return Ge(e,W.SAVED_SEARCH_USER)?this.cache.get("my-searches",async()=>(await this.awaitApi).listMySearches(e.profile.userId),5*60*1e3):[]}};var Do=class extends ie{async listMyBookmarks(){let e=L.getState().session;return e?.sessionAuthenticated?this.cache.get("my-bookmarks",async()=>(await this.awaitApi).listMyBookmarks(e.profile.userId),5*60*1e3):[]}};var Uo=class extends ie{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=L.getState().session;return!!e?.sessionAuthenticated}};var Bo=class extends ie{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=L.getState().session;return!!e?.sessionAuthenticated}};var pp="ft-user-assets",hp={setAssetCount:(r,e)=>{let{userAssetType:t,count:n}=e.payload.assetCount;r.assetCounts.allAsset[t]=n},clearAssetCount:r=>{Object.values(Se).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;_i(r,t,[...Ii(r,t),a]),_l(r,t,1,n),Ll(r,a)},editAsset:(r,e)=>{let{assetType:t,asset:n}=e.payload;_i(r,t,Ii(r,t).map(a=>a.id===n.id?n:a)),Ll(r,n)},removeAsset:(r,e)=>{let{assetType:t,mapId:n,assetId:a}=e.payload;_i(r,t,Ii(r,t).filter(i=>i.id!==a)),_l(r,t,-1,n)}},Pl={[Se.SEARCHES]:"savedSearches",[Se.BOOKMARKS]:"bookmarks",[Se.BOOKS]:void 0,[Se.COLLECTIONS]:void 0},Ii=(r,e)=>{var t;let n=Pl[e];return n?(t=r[n])!==null&&t!==void 0?t:[]:[]},_i=(r,e,t)=>{let n=Pl[e];n&&(r[n]=t)},_l=(r,e,t,n)=>{let a=r.assetCounts.allAsset[e];if(a!==void 0&&(r.assetCounts.allAsset[e]=Math.max(0,a+t),e===Se.BOOKMARKS&&n)){let i=r.assetCounts.bookmarkByMap[n];r.assetCounts.bookmarkByMap[n]=Math.max(0,i+t)}},Ll=(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)},me=je.get({name:pp,reducers:hp,initialState:{savedSearches:void 0,bookmarks:void 0,assetCounts:{allAsset:Object.fromEntries(Object.values(Se).map(r=>[r,void 0])),bookmarkByMap:{}},assetLabels:[]}}),Li=class{constructor(e=new Uo,t=new Bo){this.assetCountsService=e,this.assetLabelsService=t,this.currentSession=L.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new Do,this.savedSearchesService=new Fo,L.subscribe(()=>this.reloadWhenUserSessionChanges())}reloadWhenUserSessionChanges(){var e;let{session:t}=L.getState();pe((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(),me.actions.clearAssetCount(),me.actions.clearBookmarkCountByMap()}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){this.savedSearchesService.clearCache(),me.actions.savedSearches(void 0)}clearMyBookmarks(){this.bookmarksService.clearCache(),me.actions.bookmarks(void 0)}async reloadMySearches(){this.savedSearchesService.clearCache();let e=await this.savedSearchesService.listMySearches();me.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async reloadAssetLabels(){this.assetLabelsService.clearCache();let e=await this.assetLabelsService.getUserAssetLabels();me.actions.assetLabels(e)}async loadAssetCount(e){let t=await this.assetCountsService.getUserAssetCount(e);t&&me.actions.setAssetCount({assetCount:t})}async loadBookmarkByMapId(e){let t=await this.assetCountsService.getUserBookmarkCountByMap(e);t&&me.actions.setBookmarkCountByMap({count:t.count,mapId:e})}async reloadAssetCount(e){this.assetCountsService.clearCache();let t=Object.keys(me.getState().assetCounts.bookmarkByMap).length!==0;e===Se.BOOKMARKS&&t&&me.actions.clearBookmarkCountByMap(),me.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;me.actions.bookmarks(t)}}},Pi=new Li;window.FluidTopicsUserAssetsActions==null&&(window.FluidTopicsUserAssetsActions=Pi);var ki=class{addCommand(e,t=!1){L.commands.add(e,t)}consumeCommand(e){return L.commands.consume(e)}};window.FluidTopicsAppInfoStoreService=new ki;var kl,dr=class extends CustomEvent{constructor(e){super("ft-i18n-context-loaded",{detail:e})}},mp=Symbol("clearAfterUnitTest"),$o=class extends ho(ie){constructor(e){super(),this.messageContextProvider=e,this.defaultMessages={},this.listeners={},this.currentUiLocale="",this[kl]=()=>{this.defaultMessages={},this.cache=new _e,this.listeners={}},this.currentUiLocale=L.getState().uiLocale,L.subscribe(()=>this.clearWhenUiLocaleChanges())}clearWhenUiLocaleChanges(){let{uiLocale:e}=L.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};pe(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 jr((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 De)&&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 dr({loadedContexts:e})),this.dispatchEvent(new dr({loadedContexts:e})),await Promise.all(e.map(t=>this.notify(t,!1)))}async notify(e,t=!0){t&&(document.body.dispatchEvent(new dr({loadedContexts:[e]})),this.dispatchEvent(new dr({loadedContexts:[e]}))),this.listeners[e]!=null&&await Promise.all([...this.listeners[e].values()].map(n=>po(0).then(()=>n()).catch(()=>null)))}};kl=mp;window.FluidTopicsI18nService==null&&(window.FluidTopicsI18nService=new class extends $o{constructor(){super(async(r,e)=>(await this.awaitApi).getFluidTopicsMessageContext(r,e))}});window.FluidTopicsCustomI18nService==null&&(window.FluidTopicsCustomI18nService=new class extends $o{constructor(){super(async(r,e)=>(await this.awaitApi).getCustomMessageContext(r,e))}});var Nl=window.FluidTopicsI18nService,RC=window.FluidTopicsCustomI18nService;var Ni=class{highlightHtml(e,t,n){Ta(e,t,n)}};window.FluidTopicsHighlightHtmlService=new Ni;var Mi=class{isDate(e){var t,n,a,i;return(i=(a=((n=(t=L.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 At.format(e,(n=t?.locale)!==null&&n!==void 0?n:L.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 Mi;var Qr=class{static get(e,t){var n,a;let i=L.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 ar(i.baseUrl,e??20,i.searchInAllLanguagesAllowed,t??`${s}-${l}`)}};var Ho=class extends ie{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 Fi=class{urlToSearchRequest(e){return Qr.get().parse(e)}searchRequestToUrl(e){return Qr.get().serialize(e)}};window.FluidTopicsUrlService=new Fi;var Pt=class r extends CustomEvent{constructor(e){super(r.eventName,{detail:{currentItem:e}})}};Pt.eventName="change";var Di=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))}},Ml=new Di;var zo=class r extends $e{static build(){return new r(window.history,Ml,()=>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),pe(this.currentState,this.history.state)||this.realReplaceState.apply(this.history,[this.currentState,this.currentState.title,window.location.href]),setTimeout(()=>this.dispatchEvent(new Pt(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(Pt.eventName,e)}removeHistoryChangeListener(e){this.removeEventListener(Pt.eventName,e)}currentItem(){return mt(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 mt(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 mt(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=zo.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 Fl=k`
|
|
133
133
|
`;function Dl(r,e){let{authenticationRequired:t,session:n}=L.getState();return t&&!n?.sessionAuthenticated?Promise.resolve(e):r()}var Wo=class extends lr{async updateUiLocale(e){return(await this.awaitApi).updateUiLocale(e)}};var Ui=class r extends Yr{static build(e){return new r(L,e)}constructor(e,t){super(),this.store=e,this.cache=new _e,this.withManualResources=!0,this.localesConfiguration=null,this.userLocaleService=new Wo,this.cleanSessionDebouncer=new K,this.reloadDebouncer=new K(500),this.apiProvider=t??(()=>Lt.get())}setWithManualResources(e){this.withManualResources=e,this.updateIfNeeded()}async initService(){this.store.addEventListener(Ke.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",()=>Dl(()=>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 Xr(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)}},Ul=Ui.build();var se=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},q=class extends ze{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=Ul}render(){return j`
|
|
134
134
|
<slot></slot>
|
|
135
|
-
`}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=>Nl.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())}};q.elementDefinitions={};q.styles=Fl;se([A()],q.prototype,"baseUrl",void 0);se([A()],q.prototype,"apiIntegrationIdentifier",void 0);se([A()],q.prototype,"apiIntegrationAppVersion",void 0);se([A()],q.prototype,"uiLocale",void 0);se([Qe(null)],q.prototype,"availableUiLocales",void 0);se([Qe(null)],q.prototype,"metadataConfiguration",void 0);se([A({type:Boolean})],q.prototype,"editorMode",void 0);se([A({type:Boolean})],q.prototype,"noCustom",void 0);se([A({type:Boolean})],q.prototype,"openExternalDocumentInNewTab",void 0);se([A({converter:{fromAttribute(r){return r==="false"?!1:r==="true"||(r??!1)}}})],q.prototype,"noCustomComponent",void 0);se([A({type:Boolean})],q.prototype,"withManualResources",void 0);se([A({type:Boolean})],q.prototype,"navigatorOnline",void 0);se([A({type:Boolean})],q.prototype,"forcedOffline",void 0);se([A({type:Boolean})],q.prototype,"authenticationRequired",void 0);se([Qe([])],q.prototype,"messageContexts",void 0);se([Qe(void 0)],q.prototype,"session",void 0);ne("ft-app-context")(q);var jo=class extends ie{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 Ge((t=(e=L.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=L.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 Ve.FEEDBACK:return Ge(t??[],W.FEEDBACK_USER);case Ve.RATING:return Ge(t??[],W.RATING_USER);case Ve.PRINT:return Ge(t??[],W.PRINT_USER);case Ve.BOOKMARK:return!!t?.sessionAuthenticated;case Ve.COLLECTIONS:return Ge(t??[],W.COLLECTION_USER);case Ve.PERSONAL_BOOKS:return Ge(t??[],W.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var Go=class r extends jo{static async build(e){return new r(new No,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 gp="topicPivot";function Bl(r,e){let t=new URL(r);return e?.values.forEach(n=>{t.searchParams.append(gp,n)}),t.href}var Vo=class r{static build(e,t){return new r(Il(e.trim()||"context"),t??Go.build)}loaded(){return kr(()=>this._loaded)}constructor(e,t,n,a){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new K(10),this.analyticsEventsService=a??new Ho,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 ht(()=>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 De)&&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(It.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=L.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&t!==void 0?t:[];return new $t(n,a,this.metadataForSwitchToRelatives,i)}}async navigateToRelativeTopicIfFound(e){var t,n,a;await this.loaded();let i=await ht(()=>{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(It.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var t,n,a;this.store.getState().relatives==null&&await this.fetchRelatives();let i=$t.findResultWithMetadataValue((t=this.store.getState().relatives)!==null&&t!==void 0?t:[],"ft:locale",e),s=Mn(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=Bl(s,f)}}return s}sendDocumentOnDemandTranslateEvent(e){let{editorMode:t,apiIntegrationIdentifier:n,apiIntegrationAppVersion:a}=L.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:Po.AI})}catch(d){console.warn("Failed to send on-demand document translate event:",d)}}sendTopicAiTranslateEvent(e,t){let{editorMode:n,apiIntegrationIdentifier:a,apiIntegrationAppVersion:i}=L.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 Ko=class extends CustomEvent{constructor(e,t){super("ft-reader-map-loaded",{detail:{map:e,toc:t}})}},Zo=class extends CustomEvent{constructor(e,t){super("ft-reader-visible-topics-change",{detail:{visibleTopics:t}})}},qo=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},Yo=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},Jo=class extends Event{constructor(){super("ft-reader-map-not-found")}},Xo=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Qo=class extends Event{constructor(){super("ft-reader-map-forbidden")}},en=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var ue=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},Bi=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}},Q=class extends ze{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new K(5),this.navigationDebouncer=new K(10),this.mapLoadedEventDebouncer=new K(50),this.addStore(L)}render(){return j`
|
|
135
|
+
`}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=>Nl.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())}};q.elementDefinitions={};q.styles=Fl;se([A()],q.prototype,"baseUrl",void 0);se([A()],q.prototype,"apiIntegrationIdentifier",void 0);se([A()],q.prototype,"apiIntegrationAppVersion",void 0);se([A()],q.prototype,"uiLocale",void 0);se([Qe(null)],q.prototype,"availableUiLocales",void 0);se([Qe(null)],q.prototype,"metadataConfiguration",void 0);se([A({type:Boolean})],q.prototype,"editorMode",void 0);se([A({type:Boolean})],q.prototype,"noCustom",void 0);se([A({type:Boolean})],q.prototype,"openExternalDocumentInNewTab",void 0);se([A({converter:{fromAttribute(r){return r==="false"?!1:r==="true"||(r??!1)}}})],q.prototype,"noCustomComponent",void 0);se([A({type:Boolean})],q.prototype,"withManualResources",void 0);se([A({type:Boolean})],q.prototype,"navigatorOnline",void 0);se([A({type:Boolean})],q.prototype,"forcedOffline",void 0);se([A({type:Boolean})],q.prototype,"authenticationRequired",void 0);se([Qe([])],q.prototype,"messageContexts",void 0);se([Qe(void 0)],q.prototype,"session",void 0);ne("ft-app-context")(q);var jo=class extends ie{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 Ge((t=(e=L.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=L.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 Ve.FEEDBACK:return Ge(t??[],W.FEEDBACK_USER);case Ve.RATING:return Ge(t??[],W.RATING_USER);case Ve.PRINT:return Ge(t??[],W.PRINT_USER);case Ve.BOOKMARK:return!!t?.sessionAuthenticated;case Ve.COLLECTIONS:return Ge(t??[],W.COLLECTION_USER);case Ve.PERSONAL_BOOKS:return Ge(t??[],W.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var Go=class r extends jo{static async build(e){return new r(new No,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 gp="topicPivot";function Bl(r,e){let t=new URL(r);return e?.values.forEach(n=>{t.searchParams.append(gp,n)}),t.href}var Vo=class r{static build(e,t){return new r(Il(e.trim()||"context"),t??Go.build)}loaded(){return kr(()=>this._loaded)}constructor(e,t,n,a){this.store=e,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new K(10),this.analyticsEventsService=a??new Ho,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 ht(()=>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 De)&&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(It.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=L.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&t!==void 0?t:[];return new $t(n,a,this.metadataForSwitchToRelatives,i)}}async navigateToRelativeTopicIfFound(e){var t,n,a;await this.loaded();let i=await ht(()=>{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(It.mapAttachmentsUpdate))}async getRelativeDocumentUrlForLocale(e){var t,n,a;this.store.getState().relatives==null&&await this.fetchRelatives();let i=$t.findResultWithMetadataValue((t=this.store.getState().relatives)!==null&&t!==void 0?t:[],"ft:locale",e),s=Mn(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=Bl(s,f)}}return s}sendDocumentOnDemandTranslateEvent(e){let{editorMode:t,apiIntegrationIdentifier:n,apiIntegrationAppVersion:a}=L.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:Po.AI})}catch(d){console.warn("Failed to send on-demand document translate event:",d)}}sendTopicAiTranslateEvent(e,t){let{editorMode:n,apiIntegrationIdentifier:a,apiIntegrationAppVersion:i}=L.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 Ko=class extends CustomEvent{constructor(e,t){super("ft-reader-map-loaded",{detail:{map:e,toc:t}})}},Zo=class extends CustomEvent{constructor(e,t){super("ft-reader-visible-topics-change",{detail:{visibleTopics:t}})}},qo=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},Yo=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},Jo=class extends Event{constructor(){super("ft-reader-map-not-found")}},Xo=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Qo=class extends Event{constructor(){super("ft-reader-map-forbidden")}},en=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var ue=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},Bi=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}},Q=class extends ze{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new K(5),this.navigationDebouncer=new K(10),this.mapLoadedEventDebouncer=new K(50),this.addStore(L)}render(){return j`
|
|
136
136
|
${this.importStyleIfNeeded()}
|
|
137
137
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
138
138
|
`}importStyleIfNeeded(){var e,t;let n=(e=this.stateManager.service)===null||e===void 0?void 0:e.themeStylesheet();return!n||window.location.href.startsWith((t=this.baseUrl)!==null&&t!==void 0?t:"")?H:j`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-reader-content",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.26",
|
|
4
4
|
"description": "Main content for integrated reader",
|
|
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-content-watermark": "2.0.
|
|
23
|
-
"@fluid-topics/ft-infinite-scroll": "2.0.
|
|
24
|
-
"@fluid-topics/ft-reader-topic-content": "2.0.
|
|
25
|
-
"@fluid-topics/ft-reader-topic-context": "2.0.
|
|
26
|
-
"@fluid-topics/ft-reader-topic-title": "2.0.
|
|
27
|
-
"@fluid-topics/ft-wc-utils": "2.0.
|
|
22
|
+
"@fluid-topics/ft-content-watermark": "2.0.26",
|
|
23
|
+
"@fluid-topics/ft-infinite-scroll": "2.0.26",
|
|
24
|
+
"@fluid-topics/ft-reader-topic-content": "2.0.26",
|
|
25
|
+
"@fluid-topics/ft-reader-topic-context": "2.0.26",
|
|
26
|
+
"@fluid-topics/ft-reader-topic-title": "2.0.26",
|
|
27
|
+
"@fluid-topics/ft-wc-utils": "2.0.26",
|
|
28
28
|
"lit": "3.1.0"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "4ffd88b4d84ec81428bd1ac1c82423c58428afe9"
|
|
31
31
|
}
|