@fluid-topics/ft-reader-feedback 1.1.14 → 1.1.16

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.
@@ -1302,9 +1302,9 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1302
1302
  }
1303
1303
  `,e.noTextSelect];var Oi=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class $i extends mi{constructor(){super(...arguments),this.primary=!1,this.secondary=!1,this.tertiary=!1,this.neutral=!1,this.small=!1}get buttonClasses(){return{"ft-button":!0,"ft-button--primary":this.primary,"ft-button--secondary":this.secondary,"ft-button--tertiary":this.tertiary||!this.primary&&!this.secondary&&!this.neutral,"ft-button--neutral":this.neutral,"ft-button--large":!this.small,"ft-button--small":this.small,"ft-button--icon-only":!this.hasTextContent(),"ft-button--trailing-icon":this.trailingIcon,"ft-button--loading":this.trailingIcon,"ft-no-text-select":!0,"ft-button--no-icon":!this.icon}}get typographyVariant(){return this.small?Ce.caption1medium:Ce.body2medium}}$i.styles=[e.safariEllipsisFix,wi],Oi([i.property({type:Boolean})],$i.prototype,"primary",void 0),Oi([i.property({type:Boolean})],$i.prototype,"secondary",void 0),Oi([i.property({type:Boolean})],$i.prototype,"tertiary",void 0),Oi([i.property({type:Boolean})],$i.prototype,"neutral",void 0),Oi([i.property({type:Boolean})],$i.prototype,"small",void 0),e.customElement("ft-button")(xi),e.customElement("ftds-button")($i);const Si=o.css`
1304
1304
  `,Ni=o.css`
1305
- `,Ci=e.FtReduxStore.get({name:"ft-app-info",reducers:{setBaseUrl:(t,e)=>{t.baseUrl=e.payload},setApiIntegrationIdentifier:(t,e)=>{t.apiIntegrationIdentifier=e.payload},setUiLocale:(t,e)=>{t.uiLocale=e.payload},setAvailableUiLocales:(t,e)=>{t.availableUiLocales=e.payload},setEditorMode:(t,e)=>{t.editorMode=e.payload},setNoCustom:(t,e)=>{t.noCustom=e.payload},setNoCustomComponent:(t,e)=>{t.noCustomComponent=e.payload},setSession:(t,e)=>{t.session=e.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class ki{static build(t){const{baseUrl:e,apiIntegrationIdentifier:o}=Ci.getState(),i=null!=t?t:o;if(e&&i&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(e,i,!0)}static get(t){var e;return null!=t?ki.build(t):null!==(e=ki.API)&&void 0!==e?e:ki.API=ki.build()}static await(t){return new Promise((e=>{let o=ki.get(t);if(o)e(o);else{const i=Ci.subscribe((()=>{o=ki.get(t),o&&(i(),e(o))}))}}))}}var Ii;const Ei=Symbol("clearAfterUnitTest");class Ri{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new e.CacheRegistry,this.listeners={},this.currentUiLocale="",this[Ii]=()=>{this.defaultMessages={},this.cache=new e.CacheRegistry,this.listeners={}},this.currentUiLocale=Ci.getState().uiLocale,Ci.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=Ci.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const e=t.name.toLowerCase();this.cache.setFinal(e,t),this.notify(e)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,o){var i;if(t=t.toLowerCase(),Object.keys(o).length>0){const r={...null!==(i=this.defaultMessages[t])&&void 0!==i?i:{},...o};e.deepEqual(this.defaultMessages[t],r)||(this.defaultMessages[t]=r,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,o,...i){var r,n,a;t=t.toLowerCase(),this.fetchContext(t);const s=null!==(n=null===(r=this.cache.getNow(t))||void 0===r?void 0:r.messages)&&void 0!==n?n:{};return new e.ParametrizedLabelResolver(null!==(a=this.defaultMessages[t])&&void 0!==a?a:{},s).resolve(o,...i)}async fetchContext(t){if(!this.cache.has(t))try{await this.cache.get(t,(()=>this.messageContextProvider(this.currentUiLocale,t))),await this.notify(t)}catch(t){console.error(t)}}subscribe(t,e){var o;return t=t.toLowerCase(),this.listeners[t]=null!==(o=this.listeners[t])&&void 0!==o?o:new Set,this.listeners[t].add(e),()=>{var o;return null===(o=this.listeners[t])||void 0===o?void 0:o.delete(e)}}async notifyAll(){await Promise.all(Object.keys(this.listeners).map((t=>this.notify(t))))}async notify(t){null!=this.listeners[t]&&await Promise.all([...this.listeners[t].values()].map((t=>e.delay(0).then((()=>t())).catch((()=>null)))))}}Ii=Ei,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new Ri((async(t,e)=>(await ki.await()).getFluidTopicsMessageContext(t,e)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new Ri((async(t,e)=>(await ki.await()).getCustomMessageContext(t,e))));const Ui=window.FluidTopicsI18nService,Li=window.FluidTopicsCustomI18nService;var Ti=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Wi extends e.FtLitElement{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.uiLocale="en-US",this.availableUiLocales=[],this.editorMode=!1,this.noCustom=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.messageContexts=[],this.apiProvider=()=>ki.get(),this.cache=new e.CacheRegistry,this.cleanSessionDebouncer=new e.Debouncer}render(){return o.html`
1305
+ `,Ci=e.FtReduxStore.get({name:"ft-app-info",reducers:{setBaseUrl:(t,e)=>{t.baseUrl=e.payload},setApiIntegrationIdentifier:(t,e)=>{t.apiIntegrationIdentifier=e.payload},setUiLocale:(t,e)=>{t.uiLocale=e.payload},setAvailableUiLocales:(t,e)=>{t.availableUiLocales=e.payload},setMetadataDescriptors:(t,e)=>{t.metadataDescriptors=e.payload},setEditorMode:(t,e)=>{t.editorMode=e.payload},setNoCustom:(t,e)=>{t.noCustom=e.payload},setNoCustomComponent:(t,e)=>{t.noCustomComponent=e.payload},setSession:(t,e)=>{t.session=e.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],metadataDescriptors:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class ki{static build(t){const{baseUrl:e,apiIntegrationIdentifier:o}=Ci.getState(),i=null!=t?t:o;if(e&&i&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(e,i,!0)}static get(t){var e;return null!=t?ki.build(t):null!==(e=ki.API)&&void 0!==e?e:ki.API=ki.build()}static await(t){return new Promise((e=>{let o=ki.get(t);if(o)e(o);else{const i=Ci.subscribe((()=>{o=ki.get(t),o&&(i(),e(o))}))}}))}}var Ii;const Ei=Symbol("clearAfterUnitTest");class Ri{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new e.CacheRegistry,this.listeners={},this.currentUiLocale="",this[Ii]=()=>{this.defaultMessages={},this.cache=new e.CacheRegistry,this.listeners={}},this.currentUiLocale=Ci.getState().uiLocale,Ci.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=Ci.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const e=t.name.toLowerCase();this.cache.setFinal(e,t),this.notify(e)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,o){var i;if(t=t.toLowerCase(),Object.keys(o).length>0){const r={...null!==(i=this.defaultMessages[t])&&void 0!==i?i:{},...o};e.deepEqual(this.defaultMessages[t],r)||(this.defaultMessages[t]=r,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,o,...i){var r,n,a;t=t.toLowerCase(),this.fetchContext(t);const s=null!==(n=null===(r=this.cache.getNow(t))||void 0===r?void 0:r.messages)&&void 0!==n?n:{};return new e.ParametrizedLabelResolver(null!==(a=this.defaultMessages[t])&&void 0!==a?a:{},s).resolve(o,...i)}async fetchContext(t){if(!this.cache.has(t))try{await this.cache.get(t,(()=>this.messageContextProvider(this.currentUiLocale,t))),await this.notify(t)}catch(t){console.error(t)}}subscribe(t,e){var o;return t=t.toLowerCase(),this.listeners[t]=null!==(o=this.listeners[t])&&void 0!==o?o:new Set,this.listeners[t].add(e),()=>{var o;return null===(o=this.listeners[t])||void 0===o?void 0:o.delete(e)}}async notifyAll(){await Promise.all(Object.keys(this.listeners).map((t=>this.notify(t))))}async notify(t){null!=this.listeners[t]&&await Promise.all([...this.listeners[t].values()].map((t=>e.delay(0).then((()=>t())).catch((()=>null)))))}}Ii=Ei,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new Ri((async(t,e)=>(await ki.await()).getFluidTopicsMessageContext(t,e)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new Ri((async(t,e)=>(await ki.await()).getCustomMessageContext(t,e))));const Ui=window.FluidTopicsI18nService,Li=window.FluidTopicsCustomI18nService;var Ti=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Wi extends e.FtLitElement{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.uiLocale="en-US",this.availableUiLocales=[],this.metadataDescriptors=[],this.editorMode=!1,this.noCustom=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.messageContexts=[],this.apiProvider=()=>ki.get(),this.cache=new e.CacheRegistry,this.cleanSessionDebouncer=new e.Debouncer}render(){return o.html`
1306
1306
  <slot></slot>
1307
- `}update(t){super.update(t),t.has("baseUrl")&&Ci.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Ci.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Ci.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&Ci.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Ci.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Ci.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Ci.actions.setSession(this.session),t.has("availableUiLocales")&&Ci.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>Ui.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const e=await t.getCurrentSession();return e.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),e.idleTimeoutInMillis),e}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}Wi.elementDefinitions={},Wi.styles=Ni,Ti([i.property()],Wi.prototype,"baseUrl",void 0),Ti([i.property()],Wi.prototype,"apiIntegrationIdentifier",void 0),Ti([i.property()],Wi.prototype,"uiLocale",void 0),Ti([e.jsonProperty([])],Wi.prototype,"availableUiLocales",void 0),Ti([i.property({type:Boolean})],Wi.prototype,"editorMode",void 0),Ti([i.property({type:Boolean})],Wi.prototype,"noCustom",void 0),Ti([i.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],Wi.prototype,"noCustomComponent",void 0),Ti([i.property({type:Boolean})],Wi.prototype,"withManualResources",void 0),Ti([e.jsonProperty([])],Wi.prototype,"messageContexts",void 0),Ti([e.jsonProperty(void 0)],Wi.prototype,"session",void 0),Ti([i.property({type:Object})],Wi.prototype,"apiProvider",void 0);class _i{async listMySearches(){var t;return(null===(t=Ci.getState().session)||void 0===t?void 0:t.sessionAuthenticated)?(await ki.await()).listMySearches(Ci.getState().session.profile.userId):[]}}const Di=new e.CacheRegistry;class Ai{async listMyBookmarks(){return Di.get("bookmarks",(async()=>(await ki.await()).listMyBookmarks(Ci.getState().session.profile.userId)))}clearCache(){Di.clear("bookmarks")}}const zi=e.FtReduxStore.get({name:"ft-user-assets",initialState:{savedSearches:void 0,bookmarks:void 0}});const Bi=new class{constructor(){this.currentSession=Ci.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new Ai,Ci.subscribe((()=>this.reloadWhenUserSessionChanges()))}reloadWhenUserSessionChanges(){var t;const{session:o}=Ci.getState();e.deepEqual(null===(t=this.currentSession)||void 0===t?void 0:t.profile,null==o?void 0:o.profile)||(this.currentSession=o,this.clearMySearches(),this.reloadBookmarks())}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){zi.actions.savedSearches(void 0)}clearMyBookmarks(){zi.actions.bookmarks(void 0)}async reloadMySearches(){const t=new _i,e=await t.listMySearches();zi.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async registerBookmarkComponent(){this.bookmarksAreUsed=!0,await this.updateBookmarksIfUsed()}async updateBookmarksIfUsed(){var t;if(this.bookmarksAreUsed){const e=(null===(t=this.currentSession)||void 0===t?void 0:t.sessionAuthenticated)?await this.bookmarksService.listMyBookmarks():void 0;zi.actions.bookmarks(e)}}};e.customElement("ft-app-context")(Wi);var Fi=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};const Ki=Symbol("i18nProperties"),Zi=Symbol("i18nUnsubs");function Pi(t){var e;class o extends t{constructor(){super(...arguments),this.useCustomMessageContexts=!1,this[e]=new Map}get i18nService(){return this.useCustomMessageContexts?Li:Ui}i18n(t,e,...o){var i;if("string"==typeof t)return this.i18nService.resolveMessage(t,e,...o);const r=null!==(i=t.args)&&void 0!==i?i:t.argsProvider?t.argsProvider(this):[];return this.i18nService.resolveMessage(t.context,t.key,...r)}onI18nUpdate(t){var e;null===(e=this[Ki])||void 0===e||e.forEach(((e,o)=>{e.context.toLowerCase()===t.toLowerCase()&&(this[o]=this.i18n(e))})),setTimeout((()=>this.requestUpdate()),0)}update(t){var e;super.update(t),null===(e=this[Ki])||void 0===e||e.forEach(((t,e)=>{null!=t.argsProvider&&(this[e]=this.i18n(t))}))}connectedCallback(){super.connectedCallback(),null!=this[Ki]&&new Set([...this[Ki].values()].map((t=>t.context))).forEach((t=>this.addI18nMessages(t)))}addI18nMessages(t,e){t=t.toLowerCase(),this[Zi].has(t)||this[Zi].set(t,this.i18nService.subscribe(t,(()=>this.onI18nUpdate(t)))),this.i18nService.prepareContext(t,null!=e?e:{})}addI18nContext(t,e){this.addI18nMessages(t.name,e)}disconnectedCallback(){super.disconnectedCallback(),this[Zi].forEach((t=>t())),this[Zi].clear()}}return e=Zi,Fi([i.property({type:Boolean})],o.prototype,"useCustomMessageContexts",void 0),o}class Mi extends(Pi(e.FtLitElement)){}class Hi extends(Pi(e.FtLitElementRedux)){}var ji=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Gi extends Hi{constructor(){super(),this.editorMode=!1,this.addStore(Ci)}render(){return this.key&&this.context?o.html`
1307
+ `}update(t){super.update(t),t.has("baseUrl")&&Ci.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Ci.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Ci.actions.setUiLocale(this.uiLocale),t.has("metadataDescriptors")&&Ci.actions.setMetadataDescriptors(this.metadataDescriptors),t.has("noCustom")&&Ci.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Ci.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Ci.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Ci.actions.setSession(this.session),t.has("availableUiLocales")&&Ci.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>Ui.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const e=await t.getCurrentSession();return e.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),e.idleTimeoutInMillis),e}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))),null==this.metadataDescriptors&&(this.metadataDescriptors=await this.cache.get("metadataDescriptors",(()=>t.getMetadataDescriptors()))))}}Wi.elementDefinitions={},Wi.styles=Ni,Ti([i.property()],Wi.prototype,"baseUrl",void 0),Ti([i.property()],Wi.prototype,"apiIntegrationIdentifier",void 0),Ti([i.property()],Wi.prototype,"uiLocale",void 0),Ti([e.jsonProperty([])],Wi.prototype,"availableUiLocales",void 0),Ti([e.jsonProperty([])],Wi.prototype,"metadataDescriptors",void 0),Ti([i.property({type:Boolean})],Wi.prototype,"editorMode",void 0),Ti([i.property({type:Boolean})],Wi.prototype,"noCustom",void 0),Ti([i.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],Wi.prototype,"noCustomComponent",void 0),Ti([i.property({type:Boolean})],Wi.prototype,"withManualResources",void 0),Ti([e.jsonProperty([])],Wi.prototype,"messageContexts",void 0),Ti([e.jsonProperty(void 0)],Wi.prototype,"session",void 0),Ti([i.property({type:Object})],Wi.prototype,"apiProvider",void 0);class _i{async listMySearches(){var t;return(null===(t=Ci.getState().session)||void 0===t?void 0:t.sessionAuthenticated)?(await ki.await()).listMySearches(Ci.getState().session.profile.userId):[]}}const Di=new e.CacheRegistry;class Ai{async listMyBookmarks(){return Di.get("bookmarks",(async()=>(await ki.await()).listMyBookmarks(Ci.getState().session.profile.userId)))}clearCache(){Di.clear("bookmarks")}}const zi=e.FtReduxStore.get({name:"ft-user-assets",initialState:{savedSearches:void 0,bookmarks:void 0}});const Bi=new class{constructor(){this.currentSession=Ci.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new Ai,Ci.subscribe((()=>this.reloadWhenUserSessionChanges()))}reloadWhenUserSessionChanges(){var t;const{session:o}=Ci.getState();e.deepEqual(null===(t=this.currentSession)||void 0===t?void 0:t.profile,null==o?void 0:o.profile)||(this.currentSession=o,this.clearMySearches(),this.reloadBookmarks())}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){zi.actions.savedSearches(void 0)}clearMyBookmarks(){zi.actions.bookmarks(void 0)}async reloadMySearches(){const t=new _i,e=await t.listMySearches();zi.actions.savedSearches(e)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async registerBookmarkComponent(){this.bookmarksAreUsed=!0,await this.updateBookmarksIfUsed()}async updateBookmarksIfUsed(){var t;if(this.bookmarksAreUsed){const e=(null===(t=this.currentSession)||void 0===t?void 0:t.sessionAuthenticated)?await this.bookmarksService.listMyBookmarks():void 0;zi.actions.bookmarks(e)}}};e.customElement("ft-app-context")(Wi);var Fi=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};const Ki=Symbol("i18nProperties"),Zi=Symbol("i18nUnsubs");function Pi(t){var e;class o extends t{constructor(){super(...arguments),this.useCustomMessageContexts=!1,this[e]=new Map}get i18nService(){return this.useCustomMessageContexts?Li:Ui}i18n(t,e,...o){var i;if("string"==typeof t)return this.i18nService.resolveMessage(t,e,...o);const r=null!==(i=t.args)&&void 0!==i?i:t.argsProvider?t.argsProvider(this):[];return this.i18nService.resolveMessage(t.context,t.key,...r)}onI18nUpdate(t){var e;null===(e=this[Ki])||void 0===e||e.forEach(((e,o)=>{e.context.toLowerCase()===t.toLowerCase()&&(this[o]=this.i18n(e))})),setTimeout((()=>this.requestUpdate()),0)}update(t){var e;super.update(t),null===(e=this[Ki])||void 0===e||e.forEach(((t,e)=>{null!=t.argsProvider&&(this[e]=this.i18n(t))}))}connectedCallback(){super.connectedCallback(),null!=this[Ki]&&new Set([...this[Ki].values()].map((t=>t.context))).forEach((t=>this.addI18nMessages(t)))}addI18nMessages(t,e){t=t.toLowerCase(),this[Zi].has(t)||this[Zi].set(t,this.i18nService.subscribe(t,(()=>this.onI18nUpdate(t)))),this.i18nService.prepareContext(t,null!=e?e:{})}addI18nContext(t,e){this.addI18nMessages(t.name,e)}disconnectedCallback(){super.disconnectedCallback(),this[Zi].forEach((t=>t())),this[Zi].clear()}}return e=Zi,Fi([i.property({type:Boolean})],o.prototype,"useCustomMessageContexts",void 0),o}class Mi extends(Pi(e.FtLitElement)){}class Hi extends(Pi(e.FtLitElementRedux)){}var ji=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Gi extends Hi{constructor(){super(),this.editorMode=!1,this.addStore(Ci)}render(){return this.key&&this.context?o.html`
1308
1308
  <span class="ft-i18n">
1309
1309
  ${this.i18n(this.context,this.key,...Array.isArray(this.args)?this.args:[])}
1310
1310
  </span>
@@ -1464,7 +1464,17 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1464
1464
  .ft-text-field--with-password ft-icon:hover {
1465
1465
  cursor: pointer;
1466
1466
  }
1467
- `;var tr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class er extends(e.toFtFormComponent(e.FtLitElement,"textbox")){constructor(){super(...arguments),this._value="",this.dispatchedValue="",this.outlined=!1,this.disabled=!1,this.error=!1,this.prefix=null,this.passwordHiddenIcon=Fo.EYE_SLASH,this.passwordRevealedIcon=Fo.EYE,this.filterSuggestions=!1,this.password=!1,this.focused=!1,this.hidePassword=!0,this.suggestionsOnTop=!1,this.hideSuggestions=!1,this.visibleSuggestions=[]}get value(){return this._value||""}set value(t){this.setInternalValue(t||""),this.dispatchedValue=t||""}setInternalValue(t){const e=this._value;this._value=t||"",this.setFormValue(this._value),this.requestUpdate("value",e)}focus(){var t;null===(t=this.input)||void 0===t||t.focus()}render(){const t={"ft-text-field":!0,"ft-text-field--filled":!this.outlined,"ft-text-field--outlined":this.outlined,"ft-text-field--disabled":this.disabled,"ft-text-field--has-value":!!this.value,"ft-text-field--with-label":!!this.label,"ft-text-field--in-error":this.error,"ft-text-field--with-prefix":!!this.prefix,"ft-text-field--hide-suggestions":0===this.visibleSuggestions.length||this.hideSuggestions,"ft-text-field--raised-label":this.focused||""!=this.value,"ft-text-field--with-icon":!!this.icon,"ft-text-field--with-password":this.password};return o.html`
1467
+
1468
+ input::-webkit-outer-spin-button,
1469
+ input::-webkit-inner-spin-button {
1470
+ -webkit-appearance: none;
1471
+ margin: 0;
1472
+ }
1473
+
1474
+ input[type=number] {
1475
+ -moz-appearance: textfield;
1476
+ }
1477
+ `;var tr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class er extends(e.toFtFormComponent(e.FtLitElement,"textbox")){constructor(){super(...arguments),this._value="",this.dispatchedValue="",this.outlined=!1,this.disabled=!1,this.error=!1,this.prefix=null,this.passwordHiddenIcon=Fo.EYE_SLASH,this.passwordRevealedIcon=Fo.EYE,this.filterSuggestions=!1,this.password=!1,this.type="text",this.focused=!1,this.hidePassword=!0,this.suggestionsOnTop=!1,this.hideSuggestions=!1,this.visibleSuggestions=[]}get value(){return this._value||""}set value(t){this.setInternalValue(t||""),this.dispatchedValue=t||""}setInternalValue(t){const e=this._value;this._value=t||"",this.setFormValue(this._value),this.requestUpdate("value",e)}focus(){var t;null===(t=this.input)||void 0===t||t.focus()}render(){const t={"ft-text-field":!0,"ft-text-field--filled":!this.outlined,"ft-text-field--outlined":this.outlined,"ft-text-field--disabled":this.disabled,"ft-text-field--has-value":!!this.value,"ft-text-field--with-label":!!this.label,"ft-text-field--in-error":this.error,"ft-text-field--with-prefix":!!this.prefix,"ft-text-field--hide-suggestions":0===this.visibleSuggestions.length||this.hideSuggestions,"ft-text-field--raised-label":this.focused||""!=this.value,"ft-text-field--with-icon":!!this.icon,"ft-text-field--with-password":this.password};return o.html`
1468
1478
  <div class="${r.classMap(t)}">
1469
1479
  <div class="ft-text-field--main-panel"
1470
1480
  @keydown=${this.handleKeyboardNavigation}
@@ -1479,14 +1489,17 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1479
1489
  <ft-ripple ?disabled=${this.disabled} activated></ft-ripple>
1480
1490
  `}
1481
1491
  ${this.prefix?o.html`
1482
- <ft-typography class="ft-text-field--prefix" vaiant="body1">
1492
+ <ft-typography class="ft-text-field--prefix" variant="body1">
1483
1493
  ${this.prefix}
1484
1494
  </ft-typography>
1485
1495
  `:o.nothing}
1486
- <input type=${this.password&&this.hidePassword?"password":"text"}
1496
+ <input type=${this.password&&this.hidePassword?"password":this.type}
1487
1497
  maxlength=${(t=>t??ae)(this.maxLength||void 0)}
1498
+ .min=${this.min}
1499
+ .max=${this.max}
1488
1500
  aria-label="${this.label}"
1489
1501
  class="ft-typography--body1 ft-text-field--input"
1502
+ part="input"
1490
1503
  ?disabled=${this.disabled}
1491
1504
  .value=${this.value}
1492
1505
  @click=${this.handleClick}
@@ -1515,7 +1528,7 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1515
1528
  .variant=${this.iconVariant}
1516
1529
  .value=${this.icon}
1517
1530
  @click=${()=>{var t;return null===(t=this.input)||void 0===t?void 0:t.focus()}}></ft-icon>
1518
- `:o.nothing}update(t){super.update(t),(t.has("value")||t.has("filterSuggestions"))&&this.filterSuggestionsIfNeeded(),t.has("value")&&null!=t.get("value")&&(this.hideSuggestions=!1),t.has("dispatchedValue")&&null!=t.get("dispatchedValue")&&(this.hideSuggestions=!0)}filterSuggestionsIfNeeded(){this.filterSuggestions?(this.suggestions.forEach((t=>t.hidden=!t.getValue().toLowerCase().includes(this.value.toLowerCase()))),this.visibleSuggestions=this.suggestions.filter((t=>!t.hidden))):this.visibleSuggestions=this.suggestions}contentAvailableCallback(t){var e,o;if(super.contentAvailableCallback(t),t.has("focused")&&!this.hideSuggestions&&this.visibleSuggestions.length>0){const t=null===(e=this.input)||void 0===e?void 0:e.getBoundingClientRect(),i=null===(o=this.suggestionsContainer)||void 0===o?void 0:o.getBoundingClientRect();t&&i&&(this.suggestionsOnTop=t.bottom+i.height>window.innerHeight&&t.top-i.height>0)}}setValue(t,e=!1){this.value!==t&&(this.setInternalValue(t),this.dispatchEvent(new CustomEvent("live-change",{detail:t}))),e&&this.dispatchedValue!==t&&(this.dispatchedValue=t,this.dispatchEvent(new CustomEvent("change",{detail:t})))}handleInput(t){var e;const o=(null===(e=this.input)||void 0===e?void 0:e.value)||"";this.setValue(o,"Escape"==t.key||"Enter"==t.key)}handleClick(){this.hideSuggestions=!1}handleKeyboardNavigation(t){var e;if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault(),t.stopPropagation(),this.hideSuggestions=!1;const o=this.visibleSuggestions.findIndex((t=>t.matches(":focus-within")));let i;i="ArrowDown"===t.key?o<this.visibleSuggestions.length-1?o+1:0:o>0?o-1:this.visibleSuggestions.length-1,null===(e=this.visibleSuggestions[i])||void 0===e||e.focus()}"Escape"!=t.key&&"Enter"!=t.key||(this.hideSuggestions=!0)}onSuggestionSelected(t){var e;this.setValue(t.detail,!0),null===(e=this.input)||void 0===e||e.focus(),setTimeout((()=>this.hideSuggestions=!0),0)}onFocus(){this.focused=!0,this.hideSuggestions=!1}onMainPanelBlur(){var t,e;(null===(t=this.mainPanel)||void 0===t?void 0:t.matches(":focus-within"))||(this.focused=!1,this.setValue((null===(e=this.input)||void 0===e?void 0:e.value)||"",!0))}togglePasswordVisibility(){this.hidePassword=!this.hidePassword}}er.elementDefinitions={"ft-input-label":fi,"ft-ripple":Re,"ft-typography":Ie,"ft-icon":jo},er.styles=[gt,Ji],tr([i.property()],er.prototype,"label",void 0),tr([i.property({noAccessor:!0})],er.prototype,"value",null),tr([i.state()],er.prototype,"dispatchedValue",void 0),tr([i.property()],er.prototype,"helper",void 0),tr([i.property({type:Boolean})],er.prototype,"outlined",void 0),tr([i.property({type:Boolean})],er.prototype,"disabled",void 0),tr([i.property({type:Boolean})],er.prototype,"error",void 0),tr([i.property()],er.prototype,"prefix",void 0),tr([i.property()],er.prototype,"icon",void 0),tr([i.property()],er.prototype,"passwordHiddenIcon",void 0),tr([i.property()],er.prototype,"passwordRevealedIcon",void 0),tr([i.property()],er.prototype,"iconVariant",void 0),tr([i.property({type:Boolean})],er.prototype,"filterSuggestions",void 0),tr([i.property({type:Number})],er.prototype,"maxLength",void 0),tr([i.property({type:Boolean})],er.prototype,"password",void 0),tr([i.state()],er.prototype,"focused",void 0),tr([i.state()],er.prototype,"hidePassword",void 0),tr([i.state()],er.prototype,"suggestionsOnTop",void 0),tr([i.state()],er.prototype,"hideSuggestions",void 0),tr([i.state()],er.prototype,"visibleSuggestions",void 0),tr([i.query(".ft-text-field--main-panel")],er.prototype,"mainPanel",void 0),tr([i.query(".ft-text-field--input")],er.prototype,"input",void 0),tr([i.query(".ft-text-field--suggestions")],er.prototype,"suggestionsContainer",void 0),tr([i.queryAssignedElements({selector:"ft-text-field-suggestion"})],er.prototype,"suggestions",void 0);const or=o.css`
1531
+ `:o.nothing}update(t){super.update(t),(t.has("value")||t.has("filterSuggestions"))&&this.filterSuggestionsIfNeeded(),t.has("value")&&null!=t.get("value")&&(this.hideSuggestions=!1),t.has("dispatchedValue")&&null!=t.get("dispatchedValue")&&(this.hideSuggestions=!0)}filterSuggestionsIfNeeded(){this.filterSuggestions?(this.suggestions.forEach((t=>t.hidden=!t.getValue().toLowerCase().includes(this.value.toLowerCase()))),this.visibleSuggestions=this.suggestions.filter((t=>!t.hidden))):this.visibleSuggestions=this.suggestions}contentAvailableCallback(t){var e,o;if(super.contentAvailableCallback(t),t.has("focused")&&!this.hideSuggestions&&this.visibleSuggestions.length>0){const t=null===(e=this.input)||void 0===e?void 0:e.getBoundingClientRect(),i=null===(o=this.suggestionsContainer)||void 0===o?void 0:o.getBoundingClientRect();t&&i&&(this.suggestionsOnTop=t.bottom+i.height>window.innerHeight&&t.top-i.height>0)}}setValue(t,e=!1){this.value!==t&&(this.setInternalValue(t),this.dispatchEvent(new CustomEvent("live-change",{detail:t}))),e&&this.dispatchedValue!==t&&(this.dispatchedValue=t,this.dispatchEvent(new CustomEvent("change",{detail:t})))}handleInput(t){var e;const o=(null===(e=this.input)||void 0===e?void 0:e.value)||"";this.setValue(o,"Escape"==t.key||"Enter"==t.key)}handleClick(){this.hideSuggestions=!1}handleKeyboardNavigation(t){var e;if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault(),t.stopPropagation(),this.hideSuggestions=!1;const o=this.visibleSuggestions.findIndex((t=>t.matches(":focus-within")));let i;i="ArrowDown"===t.key?o<this.visibleSuggestions.length-1?o+1:0:o>0?o-1:this.visibleSuggestions.length-1,null===(e=this.visibleSuggestions[i])||void 0===e||e.focus()}"Escape"!=t.key&&"Enter"!=t.key||(this.hideSuggestions=!0)}onSuggestionSelected(t){var e;this.setValue(t.detail,!0),null===(e=this.input)||void 0===e||e.focus(),setTimeout((()=>this.hideSuggestions=!0),0)}onFocus(){this.focused=!0,this.hideSuggestions=!1}onMainPanelBlur(){var t,e;(null===(t=this.mainPanel)||void 0===t?void 0:t.matches(":focus-within"))||(this.focused=!1,this.setValue((null===(e=this.input)||void 0===e?void 0:e.value)||"",!0))}togglePasswordVisibility(){this.hidePassword=!this.hidePassword}}er.elementDefinitions={"ft-input-label":fi,"ft-ripple":Re,"ft-typography":Ie,"ft-icon":jo},er.styles=[gt,Ji],tr([i.property()],er.prototype,"label",void 0),tr([i.property({noAccessor:!0})],er.prototype,"value",null),tr([i.state()],er.prototype,"dispatchedValue",void 0),tr([i.property()],er.prototype,"helper",void 0),tr([i.property({type:Boolean})],er.prototype,"outlined",void 0),tr([i.property({type:Boolean})],er.prototype,"disabled",void 0),tr([i.property({type:Boolean})],er.prototype,"error",void 0),tr([i.property()],er.prototype,"prefix",void 0),tr([i.property()],er.prototype,"icon",void 0),tr([i.property()],er.prototype,"passwordHiddenIcon",void 0),tr([i.property()],er.prototype,"passwordRevealedIcon",void 0),tr([i.property()],er.prototype,"iconVariant",void 0),tr([i.property({type:Boolean})],er.prototype,"filterSuggestions",void 0),tr([i.property({type:Number})],er.prototype,"maxLength",void 0),tr([i.property({type:Boolean})],er.prototype,"password",void 0),tr([i.property()],er.prototype,"type",void 0),tr([i.property()],er.prototype,"min",void 0),tr([i.property()],er.prototype,"max",void 0),tr([i.state()],er.prototype,"focused",void 0),tr([i.state()],er.prototype,"hidePassword",void 0),tr([i.state()],er.prototype,"suggestionsOnTop",void 0),tr([i.state()],er.prototype,"hideSuggestions",void 0),tr([i.state()],er.prototype,"visibleSuggestions",void 0),tr([i.query(".ft-text-field--main-panel")],er.prototype,"mainPanel",void 0),tr([i.query(".ft-text-field--input")],er.prototype,"input",void 0),tr([i.query(".ft-text-field--suggestions")],er.prototype,"suggestionsContainer",void 0),tr([i.queryAssignedElements({selector:"ft-text-field-suggestion"})],er.prototype,"suggestions",void 0);const or=o.css`
1519
1532
  .ft-text-field-suggestion {
1520
1533
  position: relative;
1521
1534
  padding: 8px 16px;
@@ -1552,15 +1565,15 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1552
1565
  <slot></slot>
1553
1566
  </ft-typography>
1554
1567
  </div>
1555
- `}focus(t){var e;null===(e=this.container)||void 0===e||e.focus(t)}click(){var t;null===(t=this.container)||void 0===t||t.click()}confirmSuggestion(){this.dispatchEvent(new rr(this.getValue()))}getValue(){return this.value||this.textContent}get textContent(){return this.assignedNodes.map((t=>t.textContent)).join("").trim()}onKeyDown(t){["Enter"," "].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),this.confirmSuggestion())}}nr.elementDefinitions={"ft-ripple":Re,"ft-typography":Ie,"ft-icon":jo},nr.styles=or,ir([i.property()],nr.prototype,"value",void 0),ir([i.query(".ft-text-field-suggestion")],nr.prototype,"container",void 0),ir([i.queryAssignedNodes()],nr.prototype,"assignedNodes",void 0),e.customElement("ft-text-field")(er),e.customElement("ft-text-field-suggestion")(nr);class ar{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,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,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,e,o){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,o)),null==t.tocId?this.extractPagesToc(t.children,e,o):[{tocId:t.tocId,title:t.title,depth:e,children:this.extractPagesToc(t.children,e+1,t.tocId)}])))}convertNodes(t,e,o){return t.flatMap((t=>{var i,r,n;if(null==t.tocId)return[...this.convertSectionNodes(null!==(i=t.pageToc)&&void 0!==i?i:[],e,t.tocId),...this.convertNodes(t.children,e,t.tocId)];let a=null===(r=t.prettyUrl)||void 0===r?void 0:r.replace(/^\//,"");const s={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,origin:t.origin,prettyUrl:a,depth:e,parentTocId:o,children:[]};this.register(s);const l=this.convertSectionNodes(null!==(n=t.pageToc)&&void 0!==n?n:[],e+1,t.tocId),c=this.convertNodes(t.children,e+1,s.tocId);return s.children=[...l,...c],[s]}))}convertSectionNodes(t,e,o){return t.flatMap((t=>{var i;let r=null===(i=t.prettyUrl)||void 0===i?void 0:i.replace(/^\//,"");const n={...t,prettyUrl:r,depth:e,parentTocId:o,children:[]};return this.register(n),n.children=this.convertSectionNodes(t.children,e+1,t.tocId),[n]}))}buildPage(t,e){var o,i,r,n,a,s;const l={number:this.pages.length+1,title:null!==(o=t.title)&&void 0!==o?o:"",rootTocId:null!==(i=t.tocId)&&void 0!==i?i:"root",toc:(null!==(r=t.pageToc)&&void 0!==r?r:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:e?this.buildBreadcrumb(this.nodeByTocId[e]):[]},c=(t,e)=>(e?l.topics:l.hiddenTopics).push(t),d=null!==(a=null===(n=t.pageConfiguration)||void 0===n?void 0:n.parentsVisibility)&&void 0!==a?a:[];return l.breadcrumb.forEach(((t,e)=>{c(t,d[e])})),t.tocId&&c(t.tocId,t.pageConfiguration.isVisible),l.topics.push(...this.tocIds(null!==(s=t.pageToc)&&void 0!==s?s:[])),l}registerPage(t){for(let e of[...t.topics,...t.hiddenTopics])this.pageByTocId[e]||(this.pageByTocId[e]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const e=[t.tocId];for(;null==t?void 0:t.parentTocId;)e.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return e}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class sr{convertPaginatedToc(t){return new ar(t).build()}}var lr,cr,dr,fr,hr,pr,ur,gr,yr,br,mr,vr,xr,wr;!function(t){!function(e){var o={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(o.arrayBuffer)var i=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],r=ArrayBuffer.isView||function(t){return t&&i.indexOf(Object.prototype.toString.call(t))>-1};function n(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function a(t){return"string"!=typeof t&&(t=String(t)),t}function s(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return o.iterable&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function c(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,o){t.onload=function(){e(t.result)},t.onerror=function(){o(t.error)}}))}function f(t){var e=new FileReader,o=d(e);return e.readAsArrayBuffer(t),o}function h(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function p(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:o.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():o.arrayBuffer&&o.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=h(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||r(t))?this._bodyArrayBuffer=h(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o.blob&&(this.blob=function(){var t=c(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var t,e,o,i=c(this);if(i)return i;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,o=d(e),e.readAsText(t),o;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),o=new Array(e.length),i=0;i<e.length;i++)o[i]=String.fromCharCode(e[i]);return o.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o.formData&&(this.formData=function(){return this.text().then(y)}),this.json=function(){return this.text().then(JSON.parse)},this}l.prototype.append=function(t,e){t=n(t),e=a(e);var o=this.map[t];this.map[t]=o?o+", "+e:e},l.prototype.delete=function(t){delete this.map[n(t)]},l.prototype.get=function(t){return t=n(t),this.has(t)?this.map[t]:null},l.prototype.has=function(t){return this.map.hasOwnProperty(n(t))},l.prototype.set=function(t,e){this.map[n(t)]=a(e)},l.prototype.forEach=function(t,e){for(var o in this.map)this.map.hasOwnProperty(o)&&t.call(e,this.map[o],o,this)},l.prototype.keys=function(){var t=[];return this.forEach((function(e,o){t.push(o)})),s(t)},l.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),s(t)},l.prototype.entries=function(){var t=[];return this.forEach((function(e,o){t.push([o,e])})),s(t)},o.iterable&&(l.prototype[Symbol.iterator]=l.prototype.entries);var u=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function g(t,e){var o,i,r=(e=e||{}).body;if(t instanceof g){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new l(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,r||null==t._bodyInit||(r=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new l(e.headers)),this.method=(o=e.method||this.method||"GET",i=o.toUpperCase(),u.indexOf(i)>-1?i:o),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function y(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var o=t.split("="),i=o.shift().replace(/\+/g," "),r=o.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(r))}})),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},p.call(g.prototype),p.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var o=Error(t);this.stack=o.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function v(t,i){return new Promise((function(r,n){var a=new g(t,i);if(a.signal&&a.signal.aborted)return n(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var t,e,o={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var o=t.split(":"),i=o.shift().trim();if(i){var r=o.join(":").trim();e.append(i,r)}})),e)};o.url="responseURL"in s?s.responseURL:o.headers.get("X-Request-URL");var i="response"in s?s.response:s.responseText;r(new b(i,o))},s.onerror=function(){n(new TypeError("Network request failed"))},s.ontimeout=function(){n(new TypeError("Network request failed"))},s.onabort=function(){n(new e.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&o.blob&&(s.responseType="blob"),a.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}v.polyfill=!0,t.fetch||(t.fetch=v,t.Headers=l,t.Request=g,t.Response=b),e.Headers=l,e.Request=g,e.Response=b,e.fetch=v,Object.defineProperty(e,"t",{value:!0})}({})}("undefined"!=typeof self?self:void 0),function(t){t.black="black",t.green="green",t.blue="blue",t.purple="purple",t.red="red",t.orange="orange",t.yellow="yellow"}(lr||(lr={})),function(t){t.OFFICIAL="OFFICIAL",t.PERSONAL="PERSONAL",t.SHARED="SHARED"}(cr||(cr={})),function(t){t.THIRD_PARTY="THIRD_PARTY",t.OFF_THE_GRID="OFF_THE_GRID",t.CONTENT_PACKAGER="CONTENT_PACKAGER",t.PAGES="PAGES",t.DESIGNED_READER="DESIGNED_READER"}(dr||(dr={})),function(t){t.STARS="STARS",t.LIKE="LIKE",t.DICHOTOMOUS="DICHOTOMOUS",t.NO_RATING="NO_RATING"}(fr||(fr={})),function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_YEAR="LAST_YEAR",t.CUSTOM="CUSTOM"}(hr||(hr={})),function(t){t.ASC="ASC",t.DESC="DESC"}(pr||(pr={})),function(t){t.ALPHA="ALPHA",t.NATURAL="NATURAL"}(ur||(ur={})),function(t){t.EVERYWHERE="EVERYWHERE",t.TITLE_ONLY="TITLE_ONLY",t.NONE="NONE"}(gr||(gr={})),function(t){t.ARTICLE="ARTICLE",t.BOOK="BOOK",t.SHARED_BOOK="SHARED_BOOK"}(yr||(yr={})),function(t){t.FLUIDTOPICS="FLUIDTOPICS",t.EXTERNAL="EXTERNAL"}(br||(br={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.PERSONAL_BOOK="PERSONAL_BOOK",t.SHARED_BOOK="SHARED_BOOK"}(mr||(mr={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC"}(vr||(vr={})),function(t){t.DEFAULT="DEFAULT",t.DOCUMENTS="DOCUMENTS",t.ALL_TOPICS="ALL_TOPICS"}(xr||(xr={})),function(t){t.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",t.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",t.HTML_EXPORT_USER="HTML_EXPORT_USER",t.PDF_EXPORT_USER="PDF_EXPORT_USER",t.SAVED_SEARCH_USER="SAVED_SEARCH_USER",t.COLLECTION_USER="COLLECTION_USER",t.OFFLINE_USER="OFFLINE_USER",t.ANALYTICS_USER="ANALYTICS_USER",t.BETA_USER="BETA_USER",t.DEBUG_USER="DEBUG_USER",t.PRINT_USER="PRINT_USER",t.RATING_USER="RATING_USER",t.FEEDBACK_USER="FEEDBACK_USER",t.CONTENT_PUBLISHER="CONTENT_PUBLISHER",t.KHUB_ADMIN="KHUB_ADMIN",t.USERS_ADMIN="USERS_ADMIN",t.PORTAL_ADMIN="PORTAL_ADMIN",t.ADMIN="ADMIN",t.DEVELOPER="DEVELOPER"}(wr||(wr={}));const Or={[wr.PERSONAL_BOOK_SHARE_USER]:[wr.PERSONAL_BOOK_USER],[wr.HTML_EXPORT_USER]:[wr.PERSONAL_BOOK_USER],[wr.PDF_EXPORT_USER]:[wr.PERSONAL_BOOK_USER],[wr.KHUB_ADMIN]:[wr.CONTENT_PUBLISHER],[wr.ADMIN]:[wr.KHUB_ADMIN,wr.USERS_ADMIN,wr.PORTAL_ADMIN],[wr.DEVELOPER]:[wr.BETA_USER,wr.DEBUG_USER]};function $r(t,e){return t===e||(Or[t]??[]).some((t=>$r(t,e)))}function Sr(t,e){if(null==t)return!1;return(Array.isArray(t)?t:Array.isArray(t.roles)?t.roles:Array.isArray(t.profile?.roles)?t.profile.roles:[]).some((t=>$r(t,e)))}class Nr{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,e,o,i){this.converter=t,this.api=e,this.cache=o,this._mapId=i,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.fetchMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.fetchPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t,e;return Sr(null!==(e=null===(t=Ci.getState().session)||void 0===t?void 0:t.profile.roles)&&void 0!==e?e:[],"RATING_USER")?this.withMapId((t=>this.fetchMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var e;return null===(e=this.enrichedToc)||void 0===e?void 0:e.nodeByTocId[t]}async getPage(t){const e=await this.getEnrichedToc();return e.pages[t-1]||e.pages[0]}async getPageByTocId(t){const e=await this.getEnrichedToc();return e.pageByTocId[t]||e.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,(()=>this.fetchTopicMetadata(t)))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,(()=>this.fetchTopicHTMLContent(t)))}getAttachments(){return this.cache.get("map-attachments",(()=>this.fetchAttachments()))}getAttachmentDownloadLink(t){return this.makeAbsolute(this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content)}getLink(t,e,o){const i=this.getNavigationData(t,e,o),r=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),n=new URL(r,this.api.tenantBaseUrl);return null!=i.page&&n.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&n.searchParams.set("tocId",i.tocId),null!=i.section&&n.searchParams.set("section",i.section),n.href}getNavigationData(t,e,o){var i,r;t=t||"root";const n=this.enrichedToc,a=null==n?void 0:n.pageByTocId[t],s=null==n?void 0:n.nodeByTocId[t],l=null==s?void 0:s.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(i=null==s?void 0:s.title)&&void 0!==i?i:"",page:e&&a&&a.number!==e?e:void 0,prettyUrl:null!=l?l.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(r=null==n?void 0:n.duplicatedPrettyUrls.has(null!=l?l:""))&&void 0!==r&&r,section:o}}async getAccurateNavigationData(t,e,o){return await this.getEnrichedToc(),this.getNavigationData(t,e,o)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((e=>{var o;return e?{type:e.topics.type,rating:null===(o=e.topics)||void 0===o?void 0:o.ratings.find((e=>e.tocId===t))}:void 0}))}rateMap(t,e){return this.makeRateMapRequest(t,e).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.makeUnrateMapRequest().then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t,e){return this.makeMapFeedbackRequest(t,e)}rateTopic(t,e,o){return this.makeRateTopicRequest(t,e,o).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.makeUnrateTopicRequest(t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Ci.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,e,o){return this.makeTopicFeedbackRequest(t,e,o)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let e=this.getTocNodeNow(t),o=[{tocId:e.tocId,title:e.title}],i=this.getTocNodeNow(e.parentTocId);for(;i;)o.unshift({tocId:i.tocId,title:i.title}),i=this.getTocNodeNow(i.parentTocId);return o}isFeatureAccessible(t,{session:e,ratingType:o}){if(!this.isFeatureAvailable(t))return!1;switch(t){case s.FEEDBACK:return Sr(null!=e?e:[],wr.FEEDBACK_USER);case s.RATING:return Sr(null!=e?e:[],wr.RATING_USER)&&null!=o&&o!==fr.NO_RATING;case s.PRINT:return Sr(null!=e?e:[],wr.PRINT_USER);case s.BOOKMARK:return!!(null==e?void 0:e.sessionAuthenticated);case s.COLLECTIONS:return Sr(null!=e?e:[],wr.COLLECTION_USER);case s.PERSONAL_BOOKS:return Sr(null!=e?e:[],wr.PERSONAL_BOOK_USER);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}}class Cr extends Nr{static async build(t){return new Cr(new sr,await ki.await(),new e.CacheRegistry,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){const e=await this.api.getMap(t);return this.fingerprint=e.fingerprint,e}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch((()=>[]))}makeMapFeedbackRequest(t,e){return this.api.sendMapFeedback(this.mapId,t,e)}makeRateMapRequest(t,e){return this.api.rateMap(this.mapId,t,e)}makeRateTopicRequest(t,e,o){return this.api.rateTopic(this.mapId,t,e,o)}makeTopicFeedbackRequest(t,e,o){return this.api.sendTopicFeedback(this.mapId,t,e,o)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}}class kr{static build(t,o){return new kr((t=>e.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,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}}))(t.trim()||"context"),null!=o?o:Cr.build)}constructor(t,o){this.store=t,this.reloadDebouncer=new e.Debouncer(10),this.initService(o)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return e.waitFor((()=>this.service))}async navigateToTopic(t,e,o){const i=await this.awaitService(),r=await(null!=o?i.getPage(o):i.getPageByTocId(null!=t?t:"root"));this.store.actions.currentPage(r),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,r),section:e})}resolveValidNonRootTocId(t,e){var o,i,r;let n=null!==(o="root"===t?void 0:t)&&void 0!==o?o:e.rootTocId;return e.topics.includes(n)?n:null!==(r=null!==(i=e.topics[0])&&void 0!==i?i:e.hiddenTopics[0])&&void 0!==r?r:"root"}async navigateToPage(t){const e=await this.awaitService();let o=await e.getPage(t);this.store.actions.currentPage(o)}scrollDone(){this.store.actions.scrollTarget({})}async reload(){var t,e;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(""),null===(t=this.service)||void 0===t||t.clear(),(null===(e=this.service)||void 0===e?void 0:e.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,o,i,r,n;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.configuration(t))),null===(o=this.service)||void 0===o?void 0:o.getMap().then((t=>this.store.actions.map(t))),null===(i=this.service)||void 0===i?void 0:i.getToc().then((t=>this.store.actions.toc(t))),null===(r=this.service)||void 0===r?void 0:r.getPagesToc().then((t=>this.store.actions.pagesToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPaginationConfiguration().then((t=>this.store.actions.paginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof e.CanceledPromiseError||this.errorHandler(t)}}setSearchInDocumentQuery(t){this.store.actions.searchInDocumentQuery(t)}}const Ir=o.css`
1556
- `;class Er extends CustomEvent{constructor(t,e){super("ft-reader-map-loaded",{detail:{map:t,toc:e}})}}class Rr extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{visibleTopics:e}})}}class Ur extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class Lr extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class Tr extends Event{constructor(){super("ft-reader-map-not-found")}}class Wr extends Event{constructor(){super("ft-reader-map-unauthorized")}}var _r=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Dr extends e.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new e.Debouncer(5),this.navigationDebouncer=new e.Debouncer(10),this.addStore(Ci)}render(){return o.html`
1568
+ `}focus(t){var e;null===(e=this.container)||void 0===e||e.focus(t)}click(){var t;null===(t=this.container)||void 0===t||t.click()}confirmSuggestion(){this.dispatchEvent(new rr(this.getValue()))}getValue(){return this.value||this.textContent}get textContent(){return this.assignedNodes.map((t=>t.textContent)).join("").trim()}onKeyDown(t){["Enter"," "].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),this.confirmSuggestion())}}nr.elementDefinitions={"ft-ripple":Re,"ft-typography":Ie,"ft-icon":jo},nr.styles=or,ir([i.property()],nr.prototype,"value",void 0),ir([i.query(".ft-text-field-suggestion")],nr.prototype,"container",void 0),ir([i.queryAssignedNodes()],nr.prototype,"assignedNodes",void 0),e.customElement("ft-text-field")(er),e.customElement("ft-text-field-suggestion")(nr);class ar{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,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,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,e,o){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,o)),null==t.tocId?this.extractPagesToc(t.children,e,o):[{tocId:t.tocId,title:t.title,depth:e,children:this.extractPagesToc(t.children,e+1,t.tocId)}])))}convertNodes(t,e,o){return t.flatMap((t=>{var i,r,n;if(null==t.tocId)return[...this.convertSectionNodes(null!==(i=t.pageToc)&&void 0!==i?i:[],e,t.tocId),...this.convertNodes(t.children,e,t.tocId)];let a=null===(r=t.prettyUrl)||void 0===r?void 0:r.replace(/^\//,"");const s={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,origin:t.origin,prettyUrl:a,depth:e,parentTocId:o,children:[]};this.register(s);const l=this.convertSectionNodes(null!==(n=t.pageToc)&&void 0!==n?n:[],e+1,t.tocId),c=this.convertNodes(t.children,e+1,s.tocId);return s.children=[...l,...c],[s]}))}convertSectionNodes(t,e,o){return t.flatMap((t=>{var i;let r=null===(i=t.prettyUrl)||void 0===i?void 0:i.replace(/^\//,"");const n={...t,prettyUrl:r,depth:e,parentTocId:o,children:[]};return this.register(n),n.children=this.convertSectionNodes(t.children,e+1,t.tocId),[n]}))}buildPage(t,e){var o,i,r,n,a,s;const l={number:this.pages.length+1,title:null!==(o=t.title)&&void 0!==o?o:"",rootTocId:null!==(i=t.tocId)&&void 0!==i?i:"root",toc:(null!==(r=t.pageToc)&&void 0!==r?r:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:e?this.buildBreadcrumb(this.nodeByTocId[e]):[]},c=(t,e)=>(e?l.topics:l.hiddenTopics).push(t),d=null!==(a=null===(n=t.pageConfiguration)||void 0===n?void 0:n.parentsVisibility)&&void 0!==a?a:[];return l.breadcrumb.forEach(((t,e)=>{c(t,d[e])})),t.tocId&&c(t.tocId,t.pageConfiguration.isVisible),l.topics.push(...this.tocIds(null!==(s=t.pageToc)&&void 0!==s?s:[])),l}registerPage(t){for(let e of[...t.topics,...t.hiddenTopics])this.pageByTocId[e]||(this.pageByTocId[e]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const e=[t.tocId];for(;null==t?void 0:t.parentTocId;)e.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return e}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class sr{convertPaginatedToc(t){return new ar(t).build()}}var lr,cr,dr,fr,hr,pr,ur,gr,yr,br,mr,vr,xr,wr,Or,$r,Sr,Nr;!function(t){!function(e){var o={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(o.arrayBuffer)var i=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],r=ArrayBuffer.isView||function(t){return t&&i.indexOf(Object.prototype.toString.call(t))>-1};function n(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function a(t){return"string"!=typeof t&&(t=String(t)),t}function s(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return o.iterable&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function c(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,o){t.onload=function(){e(t.result)},t.onerror=function(){o(t.error)}}))}function f(t){var e=new FileReader,o=d(e);return e.readAsArrayBuffer(t),o}function h(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function p(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:o.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():o.arrayBuffer&&o.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=h(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||r(t))?this._bodyArrayBuffer=h(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o.blob&&(this.blob=function(){var t=c(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var t,e,o,i=c(this);if(i)return i;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,o=d(e),e.readAsText(t),o;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),o=new Array(e.length),i=0;i<e.length;i++)o[i]=String.fromCharCode(e[i]);return o.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o.formData&&(this.formData=function(){return this.text().then(y)}),this.json=function(){return this.text().then(JSON.parse)},this}l.prototype.append=function(t,e){t=n(t),e=a(e);var o=this.map[t];this.map[t]=o?o+", "+e:e},l.prototype.delete=function(t){delete this.map[n(t)]},l.prototype.get=function(t){return t=n(t),this.has(t)?this.map[t]:null},l.prototype.has=function(t){return this.map.hasOwnProperty(n(t))},l.prototype.set=function(t,e){this.map[n(t)]=a(e)},l.prototype.forEach=function(t,e){for(var o in this.map)this.map.hasOwnProperty(o)&&t.call(e,this.map[o],o,this)},l.prototype.keys=function(){var t=[];return this.forEach((function(e,o){t.push(o)})),s(t)},l.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),s(t)},l.prototype.entries=function(){var t=[];return this.forEach((function(e,o){t.push([o,e])})),s(t)},o.iterable&&(l.prototype[Symbol.iterator]=l.prototype.entries);var u=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function g(t,e){var o,i,r=(e=e||{}).body;if(t instanceof g){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new l(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,r||null==t._bodyInit||(r=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new l(e.headers)),this.method=(o=e.method||this.method||"GET",i=o.toUpperCase(),u.indexOf(i)>-1?i:o),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function y(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var o=t.split("="),i=o.shift().replace(/\+/g," "),r=o.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(r))}})),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},p.call(g.prototype),p.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var o=Error(t);this.stack=o.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function v(t,i){return new Promise((function(r,n){var a=new g(t,i);if(a.signal&&a.signal.aborted)return n(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var t,e,o={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var o=t.split(":"),i=o.shift().trim();if(i){var r=o.join(":").trim();e.append(i,r)}})),e)};o.url="responseURL"in s?s.responseURL:o.headers.get("X-Request-URL");var i="response"in s?s.response:s.responseText;r(new b(i,o))},s.onerror=function(){n(new TypeError("Network request failed"))},s.ontimeout=function(){n(new TypeError("Network request failed"))},s.onabort=function(){n(new e.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&o.blob&&(s.responseType="blob"),a.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}v.polyfill=!0,t.fetch||(t.fetch=v,t.Headers=l,t.Request=g,t.Response=b),e.Headers=l,e.Request=g,e.Response=b,e.fetch=v,Object.defineProperty(e,"t",{value:!0})}({})}("undefined"!=typeof self?self:void 0),function(t){t.black="black",t.green="green",t.blue="blue",t.purple="purple",t.red="red",t.orange="orange",t.yellow="yellow"}(lr||(lr={})),function(t){t.OFFICIAL="OFFICIAL",t.PERSONAL="PERSONAL",t.SHARED="SHARED"}(cr||(cr={})),function(t){t.THIRD_PARTY="THIRD_PARTY",t.OFF_THE_GRID="OFF_THE_GRID",t.CONTENT_PACKAGER="CONTENT_PACKAGER",t.PAGES="PAGES",t.DESIGNED_READER="DESIGNED_READER"}(dr||(dr={})),function(t){t.CLASSIC="CLASSIC",t.CUSTOM="CUSTOM",t.DESIGNER="DESIGNER"}(fr||(fr={})),function(t){t.AND="AND",t.OR="OR",t.MONOVALUED="MONOVALUED"}(hr||(hr={})),function(t){t.NONE="NONE",t.ALPHABET="ALPHABET",t.VERSION="VERSION"}(pr||(pr={})),function(t){t.STARS="STARS",t.LIKE="LIKE",t.DICHOTOMOUS="DICHOTOMOUS",t.NO_RATING="NO_RATING"}(ur||(ur={})),function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_YEAR="LAST_YEAR",t.CUSTOM="CUSTOM"}(gr||(gr={})),function(t){t.ASC="ASC",t.DESC="DESC"}(yr||(yr={})),function(t){t.ALPHA="ALPHA",t.NATURAL="NATURAL"}(br||(br={})),function(t){t.EVERYWHERE="EVERYWHERE",t.TITLE_ONLY="TITLE_ONLY",t.NONE="NONE"}(mr||(mr={})),function(t){t.ARTICLE="ARTICLE",t.BOOK="BOOK",t.SHARED_BOOK="SHARED_BOOK"}(vr||(vr={})),function(t){t.FLUIDTOPICS="FLUIDTOPICS",t.EXTERNAL="EXTERNAL"}(xr||(xr={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.PERSONAL_BOOK="PERSONAL_BOOK",t.SHARED_BOOK="SHARED_BOOK"}(wr||(wr={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC"}(Or||(Or={})),function(t){t.DEFAULT="DEFAULT",t.DOCUMENTS="DOCUMENTS",t.ALL_TOPICS="ALL_TOPICS"}($r||($r={})),function(t){t.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",t.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",t.HTML_EXPORT_USER="HTML_EXPORT_USER",t.PDF_EXPORT_USER="PDF_EXPORT_USER",t.SAVED_SEARCH_USER="SAVED_SEARCH_USER",t.COLLECTION_USER="COLLECTION_USER",t.OFFLINE_USER="OFFLINE_USER",t.ANALYTICS_USER="ANALYTICS_USER",t.BETA_USER="BETA_USER",t.DEBUG_USER="DEBUG_USER",t.PRINT_USER="PRINT_USER",t.RATING_USER="RATING_USER",t.FEEDBACK_USER="FEEDBACK_USER",t.CONTENT_PUBLISHER="CONTENT_PUBLISHER",t.KHUB_ADMIN="KHUB_ADMIN",t.USERS_ADMIN="USERS_ADMIN",t.PORTAL_ADMIN="PORTAL_ADMIN",t.ADMIN="ADMIN",t.DEVELOPER="DEVELOPER"}(Sr||(Sr={})),function(t){t.VALID="VALID",t.INVALID="INVALID"}(Nr||(Nr={}));const Cr={[Sr.PERSONAL_BOOK_SHARE_USER]:[Sr.PERSONAL_BOOK_USER],[Sr.HTML_EXPORT_USER]:[Sr.PERSONAL_BOOK_USER],[Sr.PDF_EXPORT_USER]:[Sr.PERSONAL_BOOK_USER],[Sr.KHUB_ADMIN]:[Sr.CONTENT_PUBLISHER],[Sr.ADMIN]:[Sr.KHUB_ADMIN,Sr.USERS_ADMIN,Sr.PORTAL_ADMIN],[Sr.DEVELOPER]:[Sr.BETA_USER,Sr.DEBUG_USER]};function kr(t,e){return t===e||(Cr[t]??[]).some((t=>kr(t,e)))}function Ir(t,e){if(null==t)return!1;return(Array.isArray(t)?t:Array.isArray(t.roles)?t.roles:Array.isArray(t.profile?.roles)?t.profile.roles:[]).some((t=>kr(t,e)))}class Er{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,e,o,i){this.converter=t,this.api=e,this.cache=o,this._mapId=i,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.fetchMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.fetchPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t,e;return Ir(null!==(e=null===(t=Ci.getState().session)||void 0===t?void 0:t.profile.roles)&&void 0!==e?e:[],"RATING_USER")?this.withMapId((t=>this.fetchMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var e;return null===(e=this.enrichedToc)||void 0===e?void 0:e.nodeByTocId[t]}async getPage(t){const e=await this.getEnrichedToc();return e.pages[t-1]||e.pages[0]}async getPageByTocId(t){const e=await this.getEnrichedToc();return e.pageByTocId[t]||e.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,(()=>this.fetchTopicMetadata(t)))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,(()=>this.fetchTopicHTMLContent(t)))}getAttachments(){return this.cache.get("map-attachments",(()=>this.fetchAttachments()))}getAttachmentDownloadLink(t){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content}?download=true`)}getLink(t,e,o){const i=this.getNavigationData(t,e,o),r=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),n=new URL(r,this.api.tenantBaseUrl);return null!=i.page&&n.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&n.searchParams.set("tocId",i.tocId),null!=i.section&&n.searchParams.set("section",i.section),n.href}getNavigationData(t,e,o){var i,r;t=t||"root";const n=this.enrichedToc,a=null==n?void 0:n.pageByTocId[t],s=null==n?void 0:n.nodeByTocId[t],l=null==s?void 0:s.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(i=null==s?void 0:s.title)&&void 0!==i?i:"",page:e&&a&&a.number!==e?e:void 0,prettyUrl:null!=l?l.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(r=null==n?void 0:n.duplicatedPrettyUrls.has(null!=l?l:""))&&void 0!==r&&r,section:o}}async getAccurateNavigationData(t,e,o){return await this.getEnrichedToc(),this.getNavigationData(t,e,o)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((e=>{var o;return e?{type:e.topics.type,rating:null===(o=e.topics)||void 0===o?void 0:o.ratings.find((e=>e.tocId===t))}:void 0}))}rateMap(t,e){return this.makeRateMapRequest(t,e).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.makeUnrateMapRequest().then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t,e){return this.makeMapFeedbackRequest(t,e)}rateTopic(t,e,o){return this.makeRateTopicRequest(t,e,o).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.makeUnrateTopicRequest(t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Ci.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,e,o){return this.makeTopicFeedbackRequest(t,e,o)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let e=this.getTocNodeNow(t),o=[{tocId:e.tocId,title:e.title}],i=this.getTocNodeNow(e.parentTocId);for(;i;)o.unshift({tocId:i.tocId,title:i.title}),i=this.getTocNodeNow(i.parentTocId);return o}isFeatureAccessible(t,{session:e,ratingType:o}){if(!this.isFeatureAvailable(t))return!1;switch(t){case s.FEEDBACK:return Ir(null!=e?e:[],Sr.FEEDBACK_USER);case s.RATING:return Ir(null!=e?e:[],Sr.RATING_USER)&&null!=o&&o!==ur.NO_RATING;case s.PRINT:return Ir(null!=e?e:[],Sr.PRINT_USER);case s.BOOKMARK:return!!(null==e?void 0:e.sessionAuthenticated);case s.COLLECTIONS:return Ir(null!=e?e:[],Sr.COLLECTION_USER);case s.PERSONAL_BOOKS:return Ir(null!=e?e:[],Sr.PERSONAL_BOOK_USER);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}}class Rr extends Er{static async build(t){return new Rr(new sr,await ki.await(),new e.CacheRegistry,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){const e=await this.api.getMap(t);return this.fingerprint=e.fingerprint,e}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch((()=>[]))}makeMapFeedbackRequest(t,e){return this.api.sendMapFeedback(this.mapId,t,e)}makeRateMapRequest(t,e){return this.api.rateMap(this.mapId,t,e)}makeRateTopicRequest(t,e,o){return this.api.rateTopic(this.mapId,t,e,o)}makeTopicFeedbackRequest(t,e,o){return this.api.sendTopicFeedback(this.mapId,t,e,o)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}}class Ur{static build(t,o){return new Ur((t=>e.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,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}}))(t.trim()||"context"),null!=o?o:Rr.build)}constructor(t,o){this.store=t,this.reloadDebouncer=new e.Debouncer(10),this.initService(o)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return e.waitFor((()=>this.service))}async navigateToTopic(t,e,o){const i=await this.awaitService(),r=await(null!=o?i.getPage(o):i.getPageByTocId(null!=t?t:"root"));this.store.actions.currentPage(r),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,r),section:e})}resolveValidNonRootTocId(t,e){var o,i,r;let n=null!==(o="root"===t?void 0:t)&&void 0!==o?o:e.rootTocId;return e.topics.includes(n)?n:null!==(r=null!==(i=e.topics[0])&&void 0!==i?i:e.hiddenTopics[0])&&void 0!==r?r:"root"}async navigateToPage(t){const e=await this.awaitService();let o=await e.getPage(t);this.store.actions.currentPage(o)}scrollDone(){this.store.actions.scrollTarget({})}async reload(){var t,e;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(""),null===(t=this.service)||void 0===t||t.clear(),(null===(e=this.service)||void 0===e?void 0:e.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,o,i,r,n;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.configuration(t))),null===(o=this.service)||void 0===o?void 0:o.getMap().then((t=>this.store.actions.map(t))),null===(i=this.service)||void 0===i?void 0:i.getToc().then((t=>this.store.actions.toc(t))),null===(r=this.service)||void 0===r?void 0:r.getPagesToc().then((t=>this.store.actions.pagesToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPaginationConfiguration().then((t=>this.store.actions.paginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof e.CanceledPromiseError||this.errorHandler(t)}}setSearchInDocumentQuery(t){this.store.actions.searchInDocumentQuery(t)}}const Lr=o.css`
1569
+ `;class Tr extends CustomEvent{constructor(t,e){super("ft-reader-map-loaded",{detail:{map:t,toc:e}})}}class Wr extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{visibleTopics:e}})}}class _r extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class Dr extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class Ar extends Event{constructor(){super("ft-reader-map-not-found")}}class zr extends Event{constructor(){super("ft-reader-map-unauthorized")}}var Br=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Fr extends e.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new e.Debouncer(5),this.navigationDebouncer=new e.Debouncer(10),this.addStore(Ci)}render(){return o.html`
1557
1570
  ${this.importStyleIfNeeded()}
1558
1571
  <slot @register-ft-reader-component=${this.registerComponent}></slot>
1559
1572
  `}importStyleIfNeeded(){var t,e;const i=null===(t=this.stateManager.service)||void 0===t?void 0:t.themeStylesheet();return!i||window.location.href.startsWith(null!==(e=this.baseUrl)&&void 0!==e?e:"")?o.nothing:o.html`
1560
1573
  <style>
1561
1574
  @import "${i}"
1562
1575
  </style>
1563
- `}get stateManager(){return null==this._stateManager&&(this._stateManager=kr.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0"),this.readerServiceProvider),this._stateManager.errorHandler=t=>this.handleLoadError(t),this.addStore(this.stateManager.store,"reader")),this._stateManager}connectedCallback(){super.connectedCallback(),this.stateManager.setMapId(this.mapId),this.stateManager.awaitService().then((t=>{const e=t.fontsStylesheet();if(e&&!window.location.href.startsWith(this.baseUrl)&&!document.querySelector(`head link[href="${e}"]`)){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),document.head.append(t)}}))}update(t){super.update(t),t.has("readerServiceProvider")&&this.readerServiceProvider&&this.stateManager.initService(this.readerServiceProvider),t.has("mapId")&&this.mapId&&this.stateManager.setMapId(this.mapId),t.has("searchInDocumentQuery")&&null!=this.searchInDocumentQuery&&this.stateManager.setSearchInDocumentQuery(this.searchInDocumentQuery),["tocId","section","page","mapId"].some((e=>t.has(e)))&&this.mapId&&this.navigateToTarget()}contentAvailableCallback(t){var e;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new Er(this.map,this.toc)),t.has("scrollTarget")&&null==(null===(e=this.scrollTarget)||void 0===e?void 0:e.tocId)){const e=t.get("scrollTarget");null!=(null==e?void 0:e.tocId)&&this.scrollToTargetDebouncer.run((()=>{var t;return this.stateManager.service.getAccurateNavigationData(e.tocId,null===(t=this.currentPage)||void 0===t?void 0:t.number,e.section).then((t=>this.dispatchEvent(new Ur(t))))}))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>{var e;return this.stateManager.service.getAccurateNavigationData(t,null===(e=this.currentPage)||void 0===e?void 0:e.number)}))).then((t=>{let e=t.filter((t=>null!=t&&""!==t.topicTitle)).map((t=>{var e;return{tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:null===(e=this.stateManager.service)||void 0===e?void 0:e.buildBreadcrumb(t.tocId)}}));this.dispatchEvent(new Rr(this.map,e))}))}async reload(){await this.stateManager.reload(),this.navigateToTarget()}navigateToTarget(){this.navigationDebouncer.run((()=>{null!=this.tocId?this.stateManager.navigateToTopic(this.tocId,this.section,this.page):null!=this.page&&this.stateManager.navigateToPage(this.page)}))}registerComponent(t){t.stopPropagation();const e=t.composedPath()[0];this.register(e)}register(t){t.setReaderStateManager(this.stateManager)}handleLoadError(t){const e=t;404===e.status?this.dispatchEvent(new Tr):401===e.status?this.dispatchEvent(new Wr):this.dispatchEvent(new Lr(t))}reloadBookmarks(){Bi.reloadBookmarks()}}var Ar;Dr.styles=Ir,_r([e.redux({store:Ci.name})],Dr.prototype,"baseUrl",void 0),_r([i.property()],Dr.prototype,"mapId",void 0),_r([i.property()],Dr.prototype,"tocId",void 0),_r([i.property()],Dr.prototype,"section",void 0),_r([i.property()],Dr.prototype,"searchInDocumentQuery",void 0),_r([i.property({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:Ar}})],Dr.prototype,"page",void 0),_r([e.redux({store:"reader"})],Dr.prototype,"map",void 0),_r([e.redux({store:"reader"})],Dr.prototype,"toc",void 0),_r([e.redux({store:"reader"})],Dr.prototype,"visibleTopics",void 0),_r([e.redux({store:"reader"})],Dr.prototype,"currentPage",void 0),_r([e.redux({store:"reader"})],Dr.prototype,"scrollTarget",void 0),_r([i.property({attribute:!1})],Dr.prototype,"readerServiceProvider",void 0),e.customElement("ft-reader-context")(Dr);var zr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Br extends(Pi(f)){constructor(){super(),this.editorMode=!1,this.hideTitle=!1,this.ratingAllowed=!1,this.from="",this.feedbackMessage="",this.emptyStarIcon="STAR",this.filledStarIcon="STAR_PLAIN",this.emptyLikeIcon="THUMBS_UP",this.filledLikeIcon="THUMBS_UP_PLAIN",this.emptyDislikeIcon="THUMBS_DOWN",this.filledDislikeIcon="THUMBS_DOWN_PLAIN",this.addI18nContext(qi,Xi)}get canAccessFeedback(){var t;return null===(t=this.service)||void 0===t?void 0:t.isFeatureAccessible(s.FEEDBACK,{session:this.session})}get canAccessRating(){var t,e;return null===(t=this.service)||void 0===t?void 0:t.isFeatureAccessible(s.RATING,{session:this.session,ratingType:null===(e=this.ratingSummary)||void 0===e?void 0:e.type})}get configuredRatingType(){var t,e;return null!==(e=this.ratingAllowed?null===(t=this.ratingSummary)||void 0===t?void 0:t.type:"NO_RATING")&&void 0!==e?e:"NO_RATING"}get ratingType(){var t,e,o;return null!==(o=null===(e=null===(t=this.ratingSummary)||void 0===t?void 0:t.rating)||void 0===e?void 0:e.type)&&void 0!==o?o:"NO_RATING"}get ratingValue(){var t,e,o;return null!==(o=null===(e=null===(t=this.ratingSummary)||void 0===t?void 0:t.rating)||void 0===e?void 0:e.value)&&void 0!==o?o:-1}get ratingDate(){var t,o;const i=null===(o=null===(t=this.ratingSummary)||void 0===t?void 0:t.rating)||void 0===o?void 0:o.date;return"string"==typeof i?e.parseDate(i):i}render(){return this.canAccessFeedback||this.canAccessRating?o.html`
1576
+ `}get stateManager(){return null==this._stateManager&&(this._stateManager=Ur.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0"),this.readerServiceProvider),this._stateManager.errorHandler=t=>this.handleLoadError(t),this.addStore(this.stateManager.store,"reader")),this._stateManager}connectedCallback(){super.connectedCallback(),this.stateManager.setMapId(this.mapId),this.stateManager.awaitService().then((t=>{const e=t.fontsStylesheet();if(e&&!window.location.href.startsWith(this.baseUrl)&&!document.querySelector(`head link[href="${e}"]`)){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),document.head.append(t)}}))}update(t){super.update(t),t.has("readerServiceProvider")&&this.readerServiceProvider&&this.stateManager.initService(this.readerServiceProvider),t.has("mapId")&&this.mapId&&this.stateManager.setMapId(this.mapId),t.has("searchInDocumentQuery")&&null!=this.searchInDocumentQuery&&this.stateManager.setSearchInDocumentQuery(this.searchInDocumentQuery),["tocId","section","page","mapId"].some((e=>t.has(e)))&&this.mapId&&this.navigateToTarget()}contentAvailableCallback(t){var e;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new Tr(this.map,this.toc)),t.has("scrollTarget")&&null==(null===(e=this.scrollTarget)||void 0===e?void 0:e.tocId)){const e=t.get("scrollTarget");null!=(null==e?void 0:e.tocId)&&this.scrollToTargetDebouncer.run((()=>{var t;return this.stateManager.service.getAccurateNavigationData(e.tocId,null===(t=this.currentPage)||void 0===t?void 0:t.number,e.section).then((t=>this.dispatchEvent(new _r(t))))}))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>{var e;return this.stateManager.service.getAccurateNavigationData(t,null===(e=this.currentPage)||void 0===e?void 0:e.number)}))).then((t=>{let e=t.filter((t=>null!=t&&""!==t.topicTitle)).map((t=>{var e;return{tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:null===(e=this.stateManager.service)||void 0===e?void 0:e.buildBreadcrumb(t.tocId)}}));this.dispatchEvent(new Wr(this.map,e))}))}async reload(){await this.stateManager.reload(),this.navigateToTarget()}navigateToTarget(){this.navigationDebouncer.run((()=>{null!=this.tocId?this.stateManager.navigateToTopic(this.tocId,this.section,this.page):null!=this.page&&this.stateManager.navigateToPage(this.page)}))}registerComponent(t){t.stopPropagation();const e=t.composedPath()[0];this.register(e)}register(t){t.setReaderStateManager(this.stateManager)}handleLoadError(t){const e=t;404===e.status?this.dispatchEvent(new Ar):401===e.status?this.dispatchEvent(new zr):this.dispatchEvent(new Dr(t))}reloadBookmarks(){Bi.reloadBookmarks()}}var Kr;Fr.styles=Lr,Br([e.redux({store:Ci.name})],Fr.prototype,"baseUrl",void 0),Br([i.property()],Fr.prototype,"mapId",void 0),Br([i.property()],Fr.prototype,"tocId",void 0),Br([i.property()],Fr.prototype,"section",void 0),Br([i.property()],Fr.prototype,"searchInDocumentQuery",void 0),Br([i.property({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:Kr}})],Fr.prototype,"page",void 0),Br([e.redux({store:"reader"})],Fr.prototype,"map",void 0),Br([e.redux({store:"reader"})],Fr.prototype,"toc",void 0),Br([e.redux({store:"reader"})],Fr.prototype,"visibleTopics",void 0),Br([e.redux({store:"reader"})],Fr.prototype,"currentPage",void 0),Br([e.redux({store:"reader"})],Fr.prototype,"scrollTarget",void 0),Br([i.property({attribute:!1})],Fr.prototype,"readerServiceProvider",void 0),e.customElement("ft-reader-context")(Fr);var Zr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Pr extends(Pi(f)){constructor(){super(),this.editorMode=!1,this.hideTitle=!1,this.ratingAllowed=!1,this.from="",this.feedbackMessage="",this.emptyStarIcon="STAR",this.filledStarIcon="STAR_PLAIN",this.emptyLikeIcon="THUMBS_UP",this.filledLikeIcon="THUMBS_UP_PLAIN",this.emptyDislikeIcon="THUMBS_DOWN",this.filledDislikeIcon="THUMBS_DOWN_PLAIN",this.addI18nContext(qi,Xi)}get canAccessFeedback(){var t;return null===(t=this.service)||void 0===t?void 0:t.isFeatureAccessible(s.FEEDBACK,{session:this.session})}get canAccessRating(){var t,e;return null===(t=this.service)||void 0===t?void 0:t.isFeatureAccessible(s.RATING,{session:this.session,ratingType:null===(e=this.ratingSummary)||void 0===e?void 0:e.type})}get configuredRatingType(){var t,e;return null!==(e=this.ratingAllowed?null===(t=this.ratingSummary)||void 0===t?void 0:t.type:"NO_RATING")&&void 0!==e?e:"NO_RATING"}get ratingType(){var t,e,o;return null!==(o=null===(e=null===(t=this.ratingSummary)||void 0===t?void 0:t.rating)||void 0===e?void 0:e.type)&&void 0!==o?o:"NO_RATING"}get ratingValue(){var t,e,o;return null!==(o=null===(e=null===(t=this.ratingSummary)||void 0===t?void 0:t.rating)||void 0===e?void 0:e.value)&&void 0!==o?o:-1}get ratingDate(){var t,o;const i=null===(o=null===(t=this.ratingSummary)||void 0===t?void 0:t.rating)||void 0===o?void 0:o.date;return"string"==typeof i?e.parseDate(i):i}render(){return this.canAccessFeedback||this.canAccessRating?o.html`
1564
1577
  <div class="ft-reader-feedback">
1565
1578
  ${this.hideTitle?o.nothing:o.html`
1566
1579
  <ft-typography variant="title" part="main-title">
@@ -1657,7 +1670,7 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1657
1670
  ></ft-text-area>
1658
1671
  ${n}
1659
1672
  </form>
1660
- `}return o.nothing}onFormSubmitEvent(t,e){t.preventDefault(),e?this.onMailerFeedbackSent():this.sendFeedback()}validFromEmail(){var t,e,o;return!(null==(null===(e=null===(t=this.session)||void 0===t?void 0:t.profile)||void 0===e?void 0:e.userId)&&(null===(o=this.configuration)||void 0===o?void 0:o.mailsSentByFluidTopicsForUnauthenticatedUsers))||/^[a-zA-Z0-9_+&*-]+(?:\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/.test(this.from)}sendFeedback(){var t;this.dispatchEvent(new CustomEvent("send-feedback",{detail:{message:this.feedbackInput.value,...(null===(t=this.configuration)||void 0===t?void 0:t.mailsSentByFluidTopicsForUnauthenticatedUsers)&&{from:this.from}}}))}onMailerFeedbackSent(){this.dispatchEvent(new CustomEvent("mailer-feedback"))}clearFeedbackInput(){setTimeout((()=>this.feedbackInput.value=""),0)}}Br.elementDefinitions={"ft-button":xi,"ft-typography":Ie,"ft-switch":ei,"ft-switch-option":Qo,"ft-text-area":gi,"ft-text-field":er},Br.styles=zt,zr([i.property({type:Boolean})],Br.prototype,"editorMode",void 0),zr([i.property({type:Boolean})],Br.prototype,"hideTitle",void 0),zr([i.property({type:Boolean})],Br.prototype,"ratingAllowed",void 0),zr([i.property({attribute:!1})],Br.prototype,"i18nProperties",void 0),zr([i.property({attribute:!1})],Br.prototype,"ratingSummary",void 0),zr([i.property({attribute:!1})],Br.prototype,"session",void 0),zr([i.query(".ft-reader-feedback--feedback-input")],Br.prototype,"feedbackInput",void 0),zr([i.state()],Br.prototype,"from",void 0),zr([i.state()],Br.prototype,"feedbackMessage",void 0),zr([i.property()],Br.prototype,"iconVariant",void 0),zr([i.property()],Br.prototype,"emptyStarIcon",void 0),zr([i.property()],Br.prototype,"filledStarIcon",void 0),zr([i.property()],Br.prototype,"emptyLikeIcon",void 0),zr([i.property()],Br.prototype,"filledLikeIcon",void 0),zr([i.property()],Br.prototype,"emptyDislikeIcon",void 0),zr([i.property()],Br.prototype,"filledDislikeIcon",void 0),zr([e.redux({store:"reader",selector:t=>{var e;return null===(e=t.configuration)||void 0===e?void 0:e.feedback}})],Br.prototype,"configuration",void 0),zr([i.property()],Br.prototype,"feedbackMailLinkBuilder",void 0);const Fr=Vi.fromGwt("server");class Kr{constructor(){this.subject="",this.url="",this.subjectMetadata="",this.bodyMetadata="",this.isAuthenticated=!1}update(t,e,o,i,r){var n;this.subject=t,this.url=e,this.configuration=i,this.isAuthenticated=r,this.subjectMetadata=this.filterMetadata(o,i.subjectMetadataIds).map((t=>"["+t.values[t.values.length-1]+"]")).join(""),this.bodyMetadata=this.filterMetadata(o,null!==(n=i.bodyMetadataIds)&&void 0!==n?n:[]).map((t=>"["+t.values.join(", ")+"]")).join(" ")}filterMetadata(t,e){return e.map((e=>t.find((t=>t.key===e)))).filter((t=>null!=t&&t.values.length>0))}build(t){var e,o,i;if(0===t.length||this.isAuthenticated&&(null==this.configuration||(null===(e=this.configuration)||void 0===e?void 0:e.mailsSentByFluidTopics))||(null===(o=this.configuration)||void 0===o?void 0:o.mailsSentByFluidTopicsForUnauthenticatedUsers))return;const r=encodeURIComponent(this.subject+" "+this.subjectMetadata),n=encodeURIComponent(`\n${this.bodyMetadata}\n${this.url}\n_________________________________________________________________\n\n${t}\n\n_________________________________________________________________\n${Fr.messages["mail.feedback.disclaimer"]()}`);return`mailto:${null===(i=this.configuration)||void 0===i?void 0:i.recipients.join(",")}?subject=${r}&body=${n}`}}const Zr=Vi.build("inDesignerFeedbackComponent"),Pr={feedbackAndRatingDisabledInEditor:"Feedback and ratings performed here are not taken into account."};var Mr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Hr extends(Pi(f)){constructor(){super(),this.editorMode=!1,this.hideTitle=!1,this.iconVariant=Zo.fluid_topics,this.emptyStarIcon="STAR",this.filledStarIcon="STAR_PLAIN",this.emptyLikeIcon="THUMBS_UP",this.filledLikeIcon="THUMBS_UP_PLAIN",this.emptyDislikeIcon="THUMBS_DOWN",this.filledDislikeIcon="THUMBS_DOWN_PLAIN",this.feedbackLinkBuilder=new Kr,this.i18nProperties={feedbackMainTitle:qi.properties.mapFeedbackMainTitle(),ratingSectionTitle:qi.properties.mapRatingSectionTitle(),dichotomousRatingSectionTitle:qi.properties.mapDichotomousRatingSectionTitle(),feedbackSectionTitle:qi.properties.mapFeedbackSectionTitle()},this.updateDebouncer=new e.Debouncer(100),this.sendRatingDebouncer=new e.Debouncer(500),this.addStore(Ci)}render(){return o.html`
1673
+ `}return o.nothing}onFormSubmitEvent(t,e){t.preventDefault(),e?this.onMailerFeedbackSent():this.sendFeedback()}validFromEmail(){var t,e,o;return!(null==(null===(e=null===(t=this.session)||void 0===t?void 0:t.profile)||void 0===e?void 0:e.userId)&&(null===(o=this.configuration)||void 0===o?void 0:o.mailsSentByFluidTopicsForUnauthenticatedUsers))||/^[a-zA-Z0-9_+&*-]+(?:\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/.test(this.from)}sendFeedback(){var t;this.dispatchEvent(new CustomEvent("send-feedback",{detail:{message:this.feedbackInput.value,...(null===(t=this.configuration)||void 0===t?void 0:t.mailsSentByFluidTopicsForUnauthenticatedUsers)&&{from:this.from}}}))}onMailerFeedbackSent(){this.dispatchEvent(new CustomEvent("mailer-feedback"))}clearFeedbackInput(){setTimeout((()=>this.feedbackInput.value=""),0)}}Pr.elementDefinitions={"ft-button":xi,"ft-typography":Ie,"ft-switch":ei,"ft-switch-option":Qo,"ft-text-area":gi,"ft-text-field":er},Pr.styles=zt,Zr([i.property({type:Boolean})],Pr.prototype,"editorMode",void 0),Zr([i.property({type:Boolean})],Pr.prototype,"hideTitle",void 0),Zr([i.property({type:Boolean})],Pr.prototype,"ratingAllowed",void 0),Zr([i.property({attribute:!1})],Pr.prototype,"i18nProperties",void 0),Zr([i.property({attribute:!1})],Pr.prototype,"ratingSummary",void 0),Zr([i.property({attribute:!1})],Pr.prototype,"session",void 0),Zr([i.query(".ft-reader-feedback--feedback-input")],Pr.prototype,"feedbackInput",void 0),Zr([i.state()],Pr.prototype,"from",void 0),Zr([i.state()],Pr.prototype,"feedbackMessage",void 0),Zr([i.property()],Pr.prototype,"iconVariant",void 0),Zr([i.property()],Pr.prototype,"emptyStarIcon",void 0),Zr([i.property()],Pr.prototype,"filledStarIcon",void 0),Zr([i.property()],Pr.prototype,"emptyLikeIcon",void 0),Zr([i.property()],Pr.prototype,"filledLikeIcon",void 0),Zr([i.property()],Pr.prototype,"emptyDislikeIcon",void 0),Zr([i.property()],Pr.prototype,"filledDislikeIcon",void 0),Zr([e.redux({store:"reader",selector:t=>{var e;return null===(e=t.configuration)||void 0===e?void 0:e.feedback}})],Pr.prototype,"configuration",void 0),Zr([i.property()],Pr.prototype,"feedbackMailLinkBuilder",void 0);const Mr=Vi.fromGwt("server");class Hr{constructor(){this.subject="",this.url="",this.subjectMetadata="",this.bodyMetadata="",this.isAuthenticated=!1}update(t,e,o,i,r){var n;this.subject=t,this.url=e,this.configuration=i,this.isAuthenticated=r,this.subjectMetadata=this.filterMetadata(o,i.subjectMetadataIds).map((t=>"["+t.values[t.values.length-1]+"]")).join(""),this.bodyMetadata=this.filterMetadata(o,null!==(n=i.bodyMetadataIds)&&void 0!==n?n:[]).map((t=>"["+t.values.join(", ")+"]")).join(" ")}filterMetadata(t,e){return e.map((e=>t.find((t=>t.key===e)))).filter((t=>null!=t&&t.values.length>0))}build(t){var e,o,i;if(0===t.length||this.isAuthenticated&&(null==this.configuration||(null===(e=this.configuration)||void 0===e?void 0:e.mailsSentByFluidTopics))||(null===(o=this.configuration)||void 0===o?void 0:o.mailsSentByFluidTopicsForUnauthenticatedUsers))return;const r=encodeURIComponent(this.subject+" "+this.subjectMetadata),n=encodeURIComponent(`\n${this.bodyMetadata}\n${this.url}\n_________________________________________________________________\n\n${t}\n\n_________________________________________________________________\n${Mr.messages["mail.feedback.disclaimer"]()}`);return`mailto:${null===(i=this.configuration)||void 0===i?void 0:i.recipients.join(",")}?subject=${r}&body=${n}`}}const jr=Vi.build("inDesignerFeedbackComponent"),Gr={feedbackAndRatingDisabledInEditor:"Feedback and ratings performed here are not taken into account."};var Vr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Yr extends(Pi(f)){constructor(){super(),this.editorMode=!1,this.hideTitle=!1,this.iconVariant=Zo.fluid_topics,this.emptyStarIcon="STAR",this.filledStarIcon="STAR_PLAIN",this.emptyLikeIcon="THUMBS_UP",this.filledLikeIcon="THUMBS_UP_PLAIN",this.emptyDislikeIcon="THUMBS_DOWN",this.filledDislikeIcon="THUMBS_DOWN_PLAIN",this.feedbackLinkBuilder=new Hr,this.i18nProperties={feedbackMainTitle:qi.properties.mapFeedbackMainTitle(),ratingSectionTitle:qi.properties.mapRatingSectionTitle(),dichotomousRatingSectionTitle:qi.properties.mapDichotomousRatingSectionTitle(),feedbackSectionTitle:qi.properties.mapFeedbackSectionTitle()},this.updateDebouncer=new e.Debouncer(100),this.sendRatingDebouncer=new e.Debouncer(500),this.addStore(Ci)}render(){return o.html`
1661
1674
  <ft-reader-feedback
1662
1675
  ratingAllowed
1663
1676
  .i18nProperties=${this.i18nProperties}
@@ -1677,7 +1690,7 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1677
1690
  @send-feedback=${this.sendFeedback}
1678
1691
  @mailer-feedback=${this.onMailerFeedbackSent}
1679
1692
  ></ft-reader-feedback>
1680
- `}update(t){var e,o,i,r;super.update(t),t.has("map")&&this.map&&this.updateData(),t.has("editorMode")&&this.editorMode&&this.addI18nContext(Zr,Pr),["map","configuration","user","mailSubject"].some((e=>t.has(e)))&&this.map&&this.configuration&&this.feedbackLinkBuilder.update(this.mailSubject,null!==(o=null===(e=this.service)||void 0===e?void 0:e.getLink())&&void 0!==o?o:"",this.map.metadata,this.configuration,null!=(null===(r=null===(i=this.session)||void 0===i?void 0:i.profile)||void 0===r?void 0:r.userId))}connectedCallback(){super.connectedCallback(),this.updateData()}onStoreAvailable(t){super.onStoreAvailable(t),this.updateData()}updateData(){this.updateDebouncer.run((async()=>{var t,e,o;this.map&&((null===(e=null===(t=this.session)||void 0===t?void 0:t.profile)||void 0===e?void 0:e.userId)||null==this.ratingSummary)&&(this.ratingSummary=await(null===(o=this.service)||void 0===o?void 0:o.getMapRating()))}))}rate(t){this.ratingSummary&&(this.ratingSummary={...this.ratingSummary,rating:null==t.detail?void 0:{type:this.ratingSummary.type,value:t.detail,date:new Date}},this.sendRatingDebouncer.run((()=>this.sendRating(t.detail))))}async sendRating(t){var o,i,r;if(!this.editorMode&&this.ratingSummary){try{null==t?await(null===(o=this.service)||void 0===o?void 0:o.unrateMap()):await(null===(i=this.service)||void 0===i?void 0:i.rateMap(null===(r=this.ratingSummary)||void 0===r?void 0:r.type,t))}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.ratingFailure()}))}this.updateData()}else this.editorMode&&this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:Zr.messages.feedbackAndRatingDisabledInEditor()}))}async sendFeedback(t){var o;try{this.editorMode?this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:Zr.messages.feedbackAndRatingDisabledInEditor()})):(await(null===(o=this.service)||void 0===o?void 0:o.sendMapFeedback(t.detail.message,t.detail.from)),this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:qi.messages.feedbackSuccess()}))),this.readerFeedback.clearFeedbackInput()}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.feedbackFailure()}))}}onMailerFeedbackSent(){this.dispatchEvent(new CustomEvent("ft-reader-mailer-map-feedback",{composed:!0,bubbles:!0}))}}Hr.elementDefinitions={"ft-reader-feedback":Br},Mr([e.redux({store:Ci.name})],Hr.prototype,"session",void 0),Mr([e.redux({store:"reader"})],Hr.prototype,"map",void 0),Mr([e.redux({store:Ci.name})],Hr.prototype,"editorMode",void 0),Mr([e.redux({store:"reader",selector:t=>{var e;return null===(e=t.configuration)||void 0===e?void 0:e.feedback}})],Hr.prototype,"configuration",void 0),Mr([i.state()],Hr.prototype,"ratingSummary",void 0),Mr([i.property({type:Boolean})],Hr.prototype,"hideTitle",void 0),Mr([i.property()],Hr.prototype,"iconVariant",void 0),Mr([i.property()],Hr.prototype,"emptyStarIcon",void 0),Mr([i.property()],Hr.prototype,"filledStarIcon",void 0),Mr([i.property()],Hr.prototype,"emptyLikeIcon",void 0),Mr([i.property()],Hr.prototype,"filledLikeIcon",void 0),Mr([i.property()],Hr.prototype,"emptyDislikeIcon",void 0),Mr([i.property()],Hr.prototype,"filledDislikeIcon",void 0),Mr([i.query("ft-reader-feedback")],Hr.prototype,"readerFeedback",void 0),Mr([Yi(Fr.properties["mail.map_feedback.subject"]((t=>{var e;return[null===(e=t.map)||void 0===e?void 0:e.title]})))],Hr.prototype,"mailSubject",void 0);var jr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Gr extends Event{constructor(){super("register-ft-reader-topic-component",{bubbles:!0,composed:!0})}}const Vr=Symbol("registerInterval");class Yr extends(function(t){var e;class o extends t{constructor(){super(...arguments),this.disableContextInteractions=!1,this[e]=0}connectedCallback(){super.connectedCallback(),this[Vr]=window.setInterval((()=>this.tryToRegisterToTopicContext()),50)}tryToRegisterToTopicContext(){null!=this.tocNode?window.clearInterval(this[Vr]):this.dispatchEvent(new Gr)}disconnectedCallback(){super.disconnectedCallback(),this.tocNode=void 0}}return e=Vr,jr([i.state()],o.prototype,"tocNode",void 0),jr([i.state()],o.prototype,"disableContextInteractions",void 0),o}(f)){}var qr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Xr extends(Pi(Yr)){constructor(){super(),this.editorMode=!1,this.hideTitle=!1,this.iconVariant=Zo.fluid_topics,this.emptyStarIcon="STAR",this.filledStarIcon="STAR_PLAIN",this.emptyLikeIcon="THUMBS_UP",this.filledLikeIcon="THUMBS_UP_PLAIN",this.emptyDislikeIcon="THUMBS_DOWN",this.filledDislikeIcon="THUMBS_DOWN_PLAIN",this.feedbackLinkBuilder=new Kr,this.i18nProperties={feedbackMainTitle:qi.properties.topicFeedbackMainTitle(),ratingSectionTitle:qi.properties.topicRatingSectionTitle(),dichotomousRatingSectionTitle:qi.properties.topicDichotomousRatingSectionTitle(),feedbackSectionTitle:qi.properties.topicFeedbackSectionTitle()},this.updateDebouncer=new e.Debouncer(100),this.sendRatingDebouncer=new e.Debouncer(500),this.addStore(Ci)}render(){var t;return o.html`
1693
+ `}update(t){var e,o,i,r;super.update(t),t.has("map")&&this.map&&this.updateData(),t.has("editorMode")&&this.editorMode&&this.addI18nContext(jr,Gr),["map","configuration","user","mailSubject"].some((e=>t.has(e)))&&this.map&&this.configuration&&this.feedbackLinkBuilder.update(this.mailSubject,null!==(o=null===(e=this.service)||void 0===e?void 0:e.getLink())&&void 0!==o?o:"",this.map.metadata,this.configuration,null!=(null===(r=null===(i=this.session)||void 0===i?void 0:i.profile)||void 0===r?void 0:r.userId))}connectedCallback(){super.connectedCallback(),this.updateData()}onStoreAvailable(t){super.onStoreAvailable(t),this.updateData()}updateData(){this.updateDebouncer.run((async()=>{var t,e,o;this.map&&((null===(e=null===(t=this.session)||void 0===t?void 0:t.profile)||void 0===e?void 0:e.userId)||null==this.ratingSummary)&&(this.ratingSummary=await(null===(o=this.service)||void 0===o?void 0:o.getMapRating()))}))}rate(t){this.ratingSummary&&(this.ratingSummary={...this.ratingSummary,rating:null==t.detail?void 0:{type:this.ratingSummary.type,value:t.detail,date:new Date}},this.sendRatingDebouncer.run((()=>this.sendRating(t.detail))))}async sendRating(t){var o,i,r;if(!this.editorMode&&this.ratingSummary){try{null==t?await(null===(o=this.service)||void 0===o?void 0:o.unrateMap()):await(null===(i=this.service)||void 0===i?void 0:i.rateMap(null===(r=this.ratingSummary)||void 0===r?void 0:r.type,t))}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.ratingFailure()}))}this.updateData()}else this.editorMode&&this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:jr.messages.feedbackAndRatingDisabledInEditor()}))}async sendFeedback(t){var o;try{this.editorMode?this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:jr.messages.feedbackAndRatingDisabledInEditor()})):(await(null===(o=this.service)||void 0===o?void 0:o.sendMapFeedback(t.detail.message,t.detail.from)),this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:qi.messages.feedbackSuccess()}))),this.readerFeedback.clearFeedbackInput()}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.feedbackFailure()}))}}onMailerFeedbackSent(){this.dispatchEvent(new CustomEvent("ft-reader-mailer-map-feedback",{composed:!0,bubbles:!0}))}}Yr.elementDefinitions={"ft-reader-feedback":Pr},Vr([e.redux({store:Ci.name})],Yr.prototype,"session",void 0),Vr([e.redux({store:"reader"})],Yr.prototype,"map",void 0),Vr([e.redux({store:Ci.name})],Yr.prototype,"editorMode",void 0),Vr([e.redux({store:"reader",selector:t=>{var e;return null===(e=t.configuration)||void 0===e?void 0:e.feedback}})],Yr.prototype,"configuration",void 0),Vr([i.state()],Yr.prototype,"ratingSummary",void 0),Vr([i.property({type:Boolean})],Yr.prototype,"hideTitle",void 0),Vr([i.property()],Yr.prototype,"iconVariant",void 0),Vr([i.property()],Yr.prototype,"emptyStarIcon",void 0),Vr([i.property()],Yr.prototype,"filledStarIcon",void 0),Vr([i.property()],Yr.prototype,"emptyLikeIcon",void 0),Vr([i.property()],Yr.prototype,"filledLikeIcon",void 0),Vr([i.property()],Yr.prototype,"emptyDislikeIcon",void 0),Vr([i.property()],Yr.prototype,"filledDislikeIcon",void 0),Vr([i.query("ft-reader-feedback")],Yr.prototype,"readerFeedback",void 0),Vr([Yi(Mr.properties["mail.map_feedback.subject"]((t=>{var e;return[null===(e=t.map)||void 0===e?void 0:e.title]})))],Yr.prototype,"mailSubject",void 0);var qr=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class Xr extends Event{constructor(){super("register-ft-reader-topic-component",{bubbles:!0,composed:!0})}}const Qr=Symbol("registerInterval");class Jr extends(function(t){var e;class o extends t{constructor(){super(...arguments),this.disableContextInteractions=!1,this[e]=0}connectedCallback(){super.connectedCallback(),this[Qr]=window.setInterval((()=>this.tryToRegisterToTopicContext()),50)}tryToRegisterToTopicContext(){null!=this.tocNode?window.clearInterval(this[Qr]):this.dispatchEvent(new Xr)}disconnectedCallback(){super.disconnectedCallback(),this.tocNode=void 0}}return e=Qr,qr([i.state()],o.prototype,"tocNode",void 0),qr([i.state()],o.prototype,"disableContextInteractions",void 0),o}(f)){}var tn=function(t,e,o,i){for(var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i,s=t.length-1;s>=0;s--)(r=t[s])&&(a=(n<3?r(a):n>3?r(e,o,a):r(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a};class en extends(Pi(Jr)){constructor(){super(),this.editorMode=!1,this.hideTitle=!1,this.iconVariant=Zo.fluid_topics,this.emptyStarIcon="STAR",this.filledStarIcon="STAR_PLAIN",this.emptyLikeIcon="THUMBS_UP",this.filledLikeIcon="THUMBS_UP_PLAIN",this.emptyDislikeIcon="THUMBS_DOWN",this.filledDislikeIcon="THUMBS_DOWN_PLAIN",this.feedbackLinkBuilder=new Hr,this.i18nProperties={feedbackMainTitle:qi.properties.topicFeedbackMainTitle(),ratingSectionTitle:qi.properties.topicRatingSectionTitle(),dichotomousRatingSectionTitle:qi.properties.topicDichotomousRatingSectionTitle(),feedbackSectionTitle:qi.properties.topicFeedbackSectionTitle()},this.updateDebouncer=new e.Debouncer(100),this.sendRatingDebouncer=new e.Debouncer(500),this.addStore(Ci)}render(){var t;return o.html`
1681
1694
  <ft-reader-feedback
1682
1695
  .i18nProperties=${this.i18nProperties}
1683
1696
  ?ratingAllowed=${null===(t=this.tocNode)||void 0===t?void 0:t.hasRating}
@@ -1697,4 +1710,4 @@ const we=Symbol.for(""),Oe=t=>{if(t?.r===we)return t?._$litStatic$},$e=t=>({_$li
1697
1710
  @send-feedback=${this.sendFeedback}
1698
1711
  @mailer-feedback=${this.onMailerFeedbackSent}
1699
1712
  ></ft-reader-feedback>
1700
- `}update(t){var e,o,i,r;super.update(t),["tocNode","user"].some((e=>t.has(e)))&&this.tocNode&&this.updateData(),t.has("editorMode")&&this.editorMode&&this.addI18nContext(Zr,Pr),["map","tocNode","configuration","user","mailSubject"].some((e=>t.has(e)))&&this.map&&this.tocNode&&this.configuration&&this.feedbackLinkBuilder.update(this.mailSubject,null!==(o=null===(e=this.service)||void 0===e?void 0:e.getLink(this.tocNode.tocId))&&void 0!==o?o:"",this.map.metadata,this.configuration,null!=(null===(r=null===(i=this.session)||void 0===i?void 0:i.profile)||void 0===r?void 0:r.userId))}connectedCallback(){super.connectedCallback(),this.updateData()}updateData(){this.updateDebouncer.run((async()=>{var t,e,o;this.tocNode&&((null===(e=null===(t=this.session)||void 0===t?void 0:t.profile)||void 0===e?void 0:e.userId)||null==this.ratingSummary)&&(this.ratingSummary=await(null===(o=this.service)||void 0===o?void 0:o.getTopicRating(this.tocNode.tocId)))}))}rate(t){this.ratingSummary&&this.tocNode&&(this.ratingSummary={...this.ratingSummary,rating:null==t.detail?void 0:{tocId:this.tocNode.tocId,type:this.ratingSummary.type,value:t.detail,date:new Date}},this.sendRatingDebouncer.run((()=>this.sendRating(t.detail))))}async sendRating(t){var o,i,r;if(!this.editorMode&&this.ratingSummary&&this.tocNode){try{null==t?await(null===(o=this.service)||void 0===o?void 0:o.unrateTopic(this.tocNode.tocId)):await(null===(i=this.service)||void 0===i?void 0:i.rateTopic(this.tocNode.tocId,null===(r=this.ratingSummary)||void 0===r?void 0:r.type,t))}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.ratingFailure()}))}this.updateData()}else this.editorMode&&this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:Zr.messages.feedbackAndRatingDisabledInEditor()}))}async sendFeedback(t){var o;try{!this.editorMode&&this.tocNode?(await(null===(o=this.service)||void 0===o?void 0:o.sendTopicFeedback(this.tocNode.tocId,t.detail.message,t.detail.from)),this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:qi.messages.feedbackSuccess()})),this.readerFeedback.clearFeedbackInput()):this.editorMode&&this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:Zr.messages.feedbackAndRatingDisabledInEditor()}))}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.feedbackFailure()}))}}onMailerFeedbackSent(){const t=this.tocNode;this.dispatchEvent(new CustomEvent("ft-reader-mailer-topic-feedback",{detail:{topic:t},composed:!0,bubbles:!0}))}}Xr.elementDefinitions={"ft-reader-feedback":Br},qr([e.redux({store:Ci.name})],Xr.prototype,"session",void 0),qr([e.redux({store:"reader"})],Xr.prototype,"map",void 0),qr([e.redux({store:Ci.name})],Xr.prototype,"editorMode",void 0),qr([e.redux({store:"reader",selector:t=>{var e;return null===(e=t.configuration)||void 0===e?void 0:e.feedback}})],Xr.prototype,"configuration",void 0),qr([i.state()],Xr.prototype,"ratingSummary",void 0),qr([i.property({type:Boolean})],Xr.prototype,"hideTitle",void 0),qr([i.property()],Xr.prototype,"iconVariant",void 0),qr([i.property()],Xr.prototype,"emptyStarIcon",void 0),qr([i.property()],Xr.prototype,"filledStarIcon",void 0),qr([i.property()],Xr.prototype,"emptyLikeIcon",void 0),qr([i.property()],Xr.prototype,"filledLikeIcon",void 0),qr([i.property()],Xr.prototype,"emptyDislikeIcon",void 0),qr([i.property()],Xr.prototype,"filledDislikeIcon",void 0),qr([i.query("ft-reader-feedback")],Xr.prototype,"readerFeedback",void 0),qr([Yi(Fr.properties["mail.feedback.subject"]((t=>{var e,o;return[null===(e=t.tocNode)||void 0===e?void 0:e.title,null===(o=t.map)||void 0===o?void 0:o.title]})))],Xr.prototype,"mailSubject",void 0),e.customElement("ft-reader-map-feedback")(Hr),e.customElement("ft-reader-topic-feedback")(Xr),t.FtReaderFeedbackCssVariables=At,t.FtReaderMapFeedback=Hr,t.FtReaderTopicFeedback=Xr,t.styles=zt}({},ftGlobals.wcUtils,ftGlobals.lit,ftGlobals.litDecorators,ftGlobals.litClassMap,ftGlobals.litUnsafeHTML,ftGlobals.litRepeat);
1713
+ `}update(t){var e,o,i,r;super.update(t),["tocNode","user"].some((e=>t.has(e)))&&this.tocNode&&this.updateData(),t.has("editorMode")&&this.editorMode&&this.addI18nContext(jr,Gr),["map","tocNode","configuration","user","mailSubject"].some((e=>t.has(e)))&&this.map&&this.tocNode&&this.configuration&&this.feedbackLinkBuilder.update(this.mailSubject,null!==(o=null===(e=this.service)||void 0===e?void 0:e.getLink(this.tocNode.tocId))&&void 0!==o?o:"",this.map.metadata,this.configuration,null!=(null===(r=null===(i=this.session)||void 0===i?void 0:i.profile)||void 0===r?void 0:r.userId))}connectedCallback(){super.connectedCallback(),this.updateData()}updateData(){this.updateDebouncer.run((async()=>{var t,e,o;this.tocNode&&((null===(e=null===(t=this.session)||void 0===t?void 0:t.profile)||void 0===e?void 0:e.userId)||null==this.ratingSummary)&&(this.ratingSummary=await(null===(o=this.service)||void 0===o?void 0:o.getTopicRating(this.tocNode.tocId)))}))}rate(t){this.ratingSummary&&this.tocNode&&(this.ratingSummary={...this.ratingSummary,rating:null==t.detail?void 0:{tocId:this.tocNode.tocId,type:this.ratingSummary.type,value:t.detail,date:new Date}},this.sendRatingDebouncer.run((()=>this.sendRating(t.detail))))}async sendRating(t){var o,i,r;if(!this.editorMode&&this.ratingSummary&&this.tocNode){try{null==t?await(null===(o=this.service)||void 0===o?void 0:o.unrateTopic(this.tocNode.tocId)):await(null===(i=this.service)||void 0===i?void 0:i.rateTopic(this.tocNode.tocId,null===(r=this.ratingSummary)||void 0===r?void 0:r.type,t))}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.ratingFailure()}))}this.updateData()}else this.editorMode&&this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:jr.messages.feedbackAndRatingDisabledInEditor()}))}async sendFeedback(t){var o;try{!this.editorMode&&this.tocNode?(await(null===(o=this.service)||void 0===o?void 0:o.sendTopicFeedback(this.tocNode.tocId,t.detail.message,t.detail.from)),this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:qi.messages.feedbackSuccess()})),this.readerFeedback.clearFeedbackInput()):this.editorMode&&this.dispatchEvent(new e.FtNotificationEvent({type:"info",message:jr.messages.feedbackAndRatingDisabledInEditor()}))}catch{this.dispatchEvent(new e.FtNotificationEvent({type:"error",message:qi.messages.feedbackFailure()}))}}onMailerFeedbackSent(){const t=this.tocNode;this.dispatchEvent(new CustomEvent("ft-reader-mailer-topic-feedback",{detail:{topic:t},composed:!0,bubbles:!0}))}}en.elementDefinitions={"ft-reader-feedback":Pr},tn([e.redux({store:Ci.name})],en.prototype,"session",void 0),tn([e.redux({store:"reader"})],en.prototype,"map",void 0),tn([e.redux({store:Ci.name})],en.prototype,"editorMode",void 0),tn([e.redux({store:"reader",selector:t=>{var e;return null===(e=t.configuration)||void 0===e?void 0:e.feedback}})],en.prototype,"configuration",void 0),tn([i.state()],en.prototype,"ratingSummary",void 0),tn([i.property({type:Boolean})],en.prototype,"hideTitle",void 0),tn([i.property()],en.prototype,"iconVariant",void 0),tn([i.property()],en.prototype,"emptyStarIcon",void 0),tn([i.property()],en.prototype,"filledStarIcon",void 0),tn([i.property()],en.prototype,"emptyLikeIcon",void 0),tn([i.property()],en.prototype,"filledLikeIcon",void 0),tn([i.property()],en.prototype,"emptyDislikeIcon",void 0),tn([i.property()],en.prototype,"filledDislikeIcon",void 0),tn([i.query("ft-reader-feedback")],en.prototype,"readerFeedback",void 0),tn([Yi(Mr.properties["mail.feedback.subject"]((t=>{var e,o;return[null===(e=t.tocNode)||void 0===e?void 0:e.title,null===(o=t.map)||void 0===o?void 0:o.title]})))],en.prototype,"mailSubject",void 0),e.customElement("ft-reader-map-feedback")(Yr),e.customElement("ft-reader-topic-feedback")(en),t.FtReaderFeedbackCssVariables=At,t.FtReaderMapFeedback=Yr,t.FtReaderTopicFeedback=en,t.styles=zt}({},ftGlobals.wcUtils,ftGlobals.lit,ftGlobals.litDecorators,ftGlobals.litClassMap,ftGlobals.litUnsafeHTML,ftGlobals.litRepeat);