@fluid-topics/ft-reader-context 1.0.0 → 1.0.1

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.
@@ -60,10 +60,11 @@ export declare class FtReaderContext extends FtLitElementRedux implements FtRead
60
60
  private get stateManager();
61
61
  connectedCallback(): void;
62
62
  protected updated(props: PropertyValues): void;
63
- private navigationDebouncer;
63
+ private scrollToTargetDebouncer;
64
64
  protected contentAvailableCallback(props: PropertyValues): void;
65
65
  private buildBreadcrumb;
66
66
  reload(): Promise<void>;
67
+ private navigationDebouncer;
67
68
  navigateToTarget(): void;
68
69
  private registerComponent;
69
70
  register(component: FtReaderComponentInterface): void;
@@ -45,7 +45,8 @@ class FtReaderContext extends FtLitElementRedux {
45
45
  constructor() {
46
46
  super();
47
47
  this.visibleTopics = [];
48
- this.navigationDebouncer = new Debouncer(5);
48
+ this.scrollToTargetDebouncer = new Debouncer(5);
49
+ this.navigationDebouncer = new Debouncer(50);
49
50
  this.addStore(ftAppInfoStore);
50
51
  }
51
52
  render() {
@@ -92,13 +93,7 @@ class FtReaderContext extends FtLitElementRedux {
92
93
  if (props.has("mapId")) {
93
94
  this.stateManager.setMapId(this.mapId);
94
95
  }
95
- if ((props.has("tocId") || props.has("section") || props.has("page")) && this.tocId) {
96
- this.stateManager.navigateToTopic(this.tocId, this.section, this.page);
97
- }
98
- else if (props.has("page") && !this.tocId && this.page != null) {
99
- this.stateManager.navigateToPage(this.page);
100
- }
101
- else if (props.has("mapId") && this.mapId) {
96
+ if (["tocId", "section", "page", "mapId"].some(p => props.has(p)) && this.mapId) {
102
97
  this.navigateToTarget();
103
98
  }
104
99
  }
@@ -111,7 +106,7 @@ class FtReaderContext extends FtLitElementRedux {
111
106
  if (props.has("scrollTarget") && ((_a = this.scrollTarget) === null || _a === void 0 ? void 0 : _a.tocId) == null) {
112
107
  const oldScrollTarget = props.get("scrollTarget");
113
108
  if ((oldScrollTarget === null || oldScrollTarget === void 0 ? void 0 : oldScrollTarget.tocId) != null) {
114
- this.navigationDebouncer.run(() => {
109
+ this.scrollToTargetDebouncer.run(() => {
115
110
  var _a;
116
111
  return this.stateManager.service.getAccurateNavigationData(oldScrollTarget.tocId, (_a = this.currentPage) === null || _a === void 0 ? void 0 : _a.number, oldScrollTarget.section)
117
112
  .then(data => this.dispatchEvent(new NavigationDoneEvent(data)));
@@ -150,12 +145,14 @@ class FtReaderContext extends FtLitElementRedux {
150
145
  this.navigateToTarget();
151
146
  }
152
147
  navigateToTarget() {
153
- if (this.tocId != null) {
154
- this.stateManager.navigateToTopic(this.tocId, this.section, this.page);
155
- }
156
- else if (this.page != null) {
157
- this.stateManager.navigateToPage(this.page);
158
- }
148
+ this.navigationDebouncer.run(() => {
149
+ if (this.tocId != null) {
150
+ this.stateManager.navigateToTopic(this.tocId, this.section, this.page);
151
+ }
152
+ else if (this.page != null) {
153
+ this.stateManager.navigateToPage(this.page);
154
+ }
155
+ });
159
156
  }
160
157
  registerComponent(e) {
161
158
  e.stopPropagation();
@@ -1,12 +1,12 @@
1
1
  !function(t,i,s,e){const n={setMapId:(t,i)=>{t.mapId=i.payload},setTocId:(t,i)=>{t.tocId=i.payload},setMap:(t,i)=>{t.map=i.payload},setToc:(t,i)=>{t.toc=i.payload},setPagesToc:(t,i)=>{t.pagesToc=i.payload},setPaginationConfiguration:(t,i)=>{t.paginationConfiguration=i.payload},setCurrentPage:(t,i)=>{t.currentPage=i.payload},setScrollTarget:(t,i)=>{t.scrollTarget=i.payload},setVisibleTopics:(t,i)=>{t.visibleTopics=i.payload},setConfiguration:(t,i)=>{t.configuration=i.payload}};class o{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,i,s){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,s)),null==t.tocId?this.extractPagesToc(t.children,i,s):[{tocId:t.tocId,title:t.title,depth:i,children:this.extractPagesToc(t.children,i+1,t.tocId)}])))}convertNodes(t,i,s){return t.flatMap((t=>{var e,n,o;if(null==t.tocId)return[...this.convertSectionNodes(null!==(e=t.pageToc)&&void 0!==e?e:[],i,t.tocId),...this.convertNodes(t.children,i,t.tocId)];let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const a={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,prettyUrl:r,depth:i,parentTocId:s,children:[]};this.register(a);const h=this.convertSectionNodes(null!==(o=t.pageToc)&&void 0!==o?o:[],i+1,t.tocId),l=this.convertNodes(t.children,i+1,a.tocId);return a.children=[...h,...l],[a]}))}convertSectionNodes(t,i,s){return t.flatMap((t=>{var e;let n=null===(e=t.prettyUrl)||void 0===e?void 0:e.replace(/^\//,"");const o={...t,prettyUrl:n,depth:i,parentTocId:s,children:[]};return this.register(o),o.children=this.convertSectionNodes(t.children,i+1,t.tocId),[o]}))}buildPage(t,i){var s,e,n,o,r,a;const h={number:this.pages.length+1,title:null!==(s=t.title)&&void 0!==s?s:"",rootTocId:null!==(e=t.tocId)&&void 0!==e?e:"root",toc:(null!==(n=t.pageToc)&&void 0!==n?n:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:i?this.buildBreadcrumb(this.nodeByTocId[i]):[]},l=(t,i)=>(i?h.topics:h.hiddenTopics).push(t),c=null!==(r=null===(o=t.pageConfiguration)||void 0===o?void 0:o.parentsVisibility)&&void 0!==r?r:[];return h.breadcrumb.forEach(((t,i)=>{l(t,c[i])})),t.tocId&&l(t.tocId,t.pageConfiguration.isVisible),h.topics.push(...this.tocIds(null!==(a=t.pageToc)&&void 0!==a?a:[])),h}registerPage(t){for(let i of[...t.topics,...t.hiddenTopics])this.pageByTocId[i]||(this.pageByTocId[i]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const i=[t.tocId];for(;null==t?void 0:t.parentTocId;)i.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return i}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 r{convertPaginatedToc(t){return new o(t).build()}}const a=s.css`
2
2
  `,h=i.FtReduxStore.get({name:"ft-app-info",reducers:{setBaseUrl:(t,i)=>{t.baseUrl=i.payload},setApiIntegrationIdentifier:(t,i)=>{t.apiIntegrationIdentifier=i.payload},setUiLocale:(t,i)=>{t.uiLocale=i.payload},setAvailableUiLocales:(t,i)=>{t.availableUiLocales=i.payload},setEditorMode:(t,i)=>{t.editorMode=i.payload},setNoCustom:(t,i)=>{t.noCustom=i.payload},setNoCustomComponent:(t,i)=>{t.noCustomComponent=i.payload},setSession:(t,i)=>{t.session=i.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class l{static build(t){const{baseUrl:i,apiIntegrationIdentifier:s}=h.getState(),e=null!=t?t:s;if(i&&e&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(i,e,!0)}static get(t){var i;return null!=t?l.build(t):null!==(i=l.API)&&void 0!==i?i:l.API=l.build()}static await(t){return new Promise((i=>{let s=l.get(t);if(s)i(s);else{const e=h.subscribe((()=>{s=l.get(t),s&&(e(),i(s))}))}}))}}var c;const d=Symbol("clearAfterUnitTest");class u{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={},this.currentUiLocale="",this[c]=()=>{this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={}},this.currentUiLocale=h.getState().uiLocale,h.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=h.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const i=t.name.toLowerCase();this.cache.setFinal(i,t),this.notify(i)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,s){var e;if(t=t.toLowerCase(),Object.keys(s).length>0){const n={...null!==(e=this.defaultMessages[t])&&void 0!==e?e:{},...s};i.deepEqual(this.defaultMessages[t],n)||(this.defaultMessages[t]=n,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,s,...e){var n,o,r;t=t.toLowerCase(),this.fetchContext(t);const a=null!==(o=null===(n=this.cache.getNow(t))||void 0===n?void 0:n.messages)&&void 0!==o?o:{};return new i.ParametrizedLabelResolver(null!==(r=this.defaultMessages[t])&&void 0!==r?r:{},a).resolve(s,...e)}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,i){var s;return t=t.toLowerCase(),this.listeners[t]=null!==(s=this.listeners[t])&&void 0!==s?s:new Set,this.listeners[t].add(i),()=>{var s;return null===(s=this.listeners[t])||void 0===s?void 0:s.delete(i)}}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=>i.delay(0).then((()=>t())).catch((()=>null)))))}}c=d,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new u((async(t,i)=>(await l.await()).getFluidTopicsMessageContext(t,i)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new u((async(t,i)=>(await l.await()).getCustomMessageContext(t,i))));const v=window.FluidTopicsI18nService;var p=function(t,i,s,e){for(var n,o=arguments.length,r=o<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,a=t.length-1;a>=0;a--)(n=t[a])&&(r=(o<3?n(r):o>3?n(i,s,r):n(i,s))||r);return o>3&&r&&Object.defineProperty(i,s,r),r};class g extends i.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=()=>l.get(),this.cache=new i.CacheRegistry,this.cleanSessionDebouncer=new i.Debouncer}render(){return s.html`
3
3
  <slot></slot>
4
- `}updated(t){super.updated(t),t.has("baseUrl")&&h.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&h.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&h.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&h.actions.setNoCustom(this.noCustom),t.has("editorMode")&&h.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&h.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&h.actions.setSession(this.session),t.has("availableUiLocales")&&h.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>v.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 i=await t.getCurrentSession();return i.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),i.idleTimeoutInMillis),i}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}g.elementDefinitions={},g.styles=a,p([e.property()],g.prototype,"baseUrl",void 0),p([e.property()],g.prototype,"apiIntegrationIdentifier",void 0),p([e.property()],g.prototype,"uiLocale",void 0),p([i.jsonProperty([])],g.prototype,"availableUiLocales",void 0),p([e.property({type:Boolean})],g.prototype,"editorMode",void 0),p([e.property({type:Boolean})],g.prototype,"noCustom",void 0),p([e.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],g.prototype,"noCustomComponent",void 0),p([e.property({type:Boolean})],g.prototype,"withManualResources",void 0),p([i.jsonProperty([])],g.prototype,"messageContexts",void 0),p([i.jsonProperty(void 0)],g.prototype,"session",void 0),p([e.property({type:Object})],g.prototype,"apiProvider",void 0),i.customElement("ft-app-context")(g);class w{static async build(t){return new w(new r,await l.await(),new i.CacheRegistry,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,i,s,e){this.converter=t,this.api=i,this.cache=s,this._mapId=e,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.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=h.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(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 i;return null===(i=this.enrichedToc)||void 0===i?void 0:i.nodeByTocId[t]}async getPage(t){const i=await this.getEnrichedToc();return i.pages[t-1]||i.pages[0]}async getPageByTocId(t){const i=await this.getEnrichedToc();return i.pageByTocId[t]||i.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,i,s){const e=this.getNavigationData(t,i,s),n="r/"+(e.prettyUrl?e.prettyUrl:`${e.mapId}/${e.tocId}`),o=new URL(n,this.api.tenantBaseUrl);return null!=e.page&&o.searchParams.set("page",`${e.page}`),e.prettyUrlDuplicated&&o.searchParams.set("tocId",e.tocId),null!=e.section&&o.searchParams.set("section",e.section),o.href}getNavigationData(t,i,s){var e,n;t=t||"root";const o=this.enrichedToc,r=null==o?void 0:o.pageByTocId[t],a=null==o?void 0:o.nodeByTocId[t],h=null==a?void 0:a.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(e=null==a?void 0:a.title)&&void 0!==e?e:"",page:i&&r&&r.number!==i?i:void 0,prettyUrl:null!=h?h.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(n=null==o?void 0:o.duplicatedPrettyUrls.has(null!=h?h:""))&&void 0!==n&&n,section:s}}async getAccurateNavigationData(t,i,s){return await this.getEnrichedToc(),this.getNavigationData(t,i,s)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((i=>{var s;return i?{type:i.topics.type,rating:null===(s=i.topics)||void 0===s?void 0:s.ratings.find((i=>i.tocId===t))}:void 0}))}rateMap(t,i){return this.api.rateMap(this.mapId,t,i).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,i,s){return this.api.rateTopic(this.mapId,t,i,s).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=h.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,i){return this.api.sendTopicFeedback(this.mapId,t,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class m{static build(t){return new m((t=>i.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:n}))(t.trim()||"context"),w.build)}constructor(t,s){this.store=t,this.reloadDebouncer=new i.Debouncer(10),this.initService(s)}async initService(t){this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}setMapId(t){this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),this.reload()}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await i.delay(5);return this.service}async navigateToTopic(t,i,s){const e=await this.awaitService();let n=await(null!=s?e.getPage(s):e.getPageByTocId(t));this.store.actions.setCurrentPage(n),this.store.actions.setScrollTarget({tocId:t,section:i})}async navigateToPage(t){const i=await this.awaitService();let s=await i.getPage(t);this.store.actions.setCurrentPage(s)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),(null===(t=this.service)||void 0===t?void 0:t.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,i,s,e,n;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(i=this.service)||void 0===i?void 0:i.getMap().then((t=>this.store.actions.setMap(t))),null===(s=this.service)||void 0===s?void 0:s.getToc().then((t=>this.store.actions.setToc(t))),null===(e=this.service)||void 0===e?void 0:e.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){this.errorHandler&&this.errorHandler(t)}}}const f=s.css`
5
- `;var y=function(t,i,s,e){for(var n,o=arguments.length,r=o<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,a=t.length-1;a>=0;a--)(n=t[a])&&(r=(o<3?n(r):o>3?n(i,s,r):n(i,s))||r);return o>3&&r&&Object.defineProperty(i,s,r),r};class b extends CustomEvent{constructor(t,i){super("ft-reader-map-loaded",{detail:{map:t,toc:i}})}}class T extends CustomEvent{constructor(t,i){super("ft-reader-visible-topics-change",{detail:{visibleTopics:i}})}}class I extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class C extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class U extends Event{constructor(){super("ft-reader-map-not-found")}}class S extends Event{constructor(){super("ft-reader-map-unauthorized")}}class P extends i.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.navigationDebouncer=new i.Debouncer(5),this.addStore(h)}render(){return s.html`
4
+ `}updated(t){super.updated(t),t.has("baseUrl")&&h.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&h.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&h.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&h.actions.setNoCustom(this.noCustom),t.has("editorMode")&&h.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&h.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&h.actions.setSession(this.session),t.has("availableUiLocales")&&h.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>v.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 i=await t.getCurrentSession();return i.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),i.idleTimeoutInMillis),i}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}g.elementDefinitions={},g.styles=a,p([e.property()],g.prototype,"baseUrl",void 0),p([e.property()],g.prototype,"apiIntegrationIdentifier",void 0),p([e.property()],g.prototype,"uiLocale",void 0),p([i.jsonProperty([])],g.prototype,"availableUiLocales",void 0),p([e.property({type:Boolean})],g.prototype,"editorMode",void 0),p([e.property({type:Boolean})],g.prototype,"noCustom",void 0),p([e.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],g.prototype,"noCustomComponent",void 0),p([e.property({type:Boolean})],g.prototype,"withManualResources",void 0),p([i.jsonProperty([])],g.prototype,"messageContexts",void 0),p([i.jsonProperty(void 0)],g.prototype,"session",void 0),p([e.property({type:Object})],g.prototype,"apiProvider",void 0),i.customElement("ft-app-context")(g);class w{static async build(t){return new w(new r,await l.await(),new i.CacheRegistry,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,i,s,e){this.converter=t,this.api=i,this.cache=s,this._mapId=e,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.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=h.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(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 i;return null===(i=this.enrichedToc)||void 0===i?void 0:i.nodeByTocId[t]}async getPage(t){const i=await this.getEnrichedToc();return i.pages[t-1]||i.pages[0]}async getPageByTocId(t){const i=await this.getEnrichedToc();return i.pageByTocId[t]||i.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,i,s){const e=this.getNavigationData(t,i,s),n="r/"+(e.prettyUrl?e.prettyUrl:`${e.mapId}/${e.tocId}`),o=new URL(n,this.api.tenantBaseUrl);return null!=e.page&&o.searchParams.set("page",`${e.page}`),e.prettyUrlDuplicated&&o.searchParams.set("tocId",e.tocId),null!=e.section&&o.searchParams.set("section",e.section),o.href}getNavigationData(t,i,s){var e,n;t=t||"root";const o=this.enrichedToc,r=null==o?void 0:o.pageByTocId[t],a=null==o?void 0:o.nodeByTocId[t],h=null==a?void 0:a.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(e=null==a?void 0:a.title)&&void 0!==e?e:"",page:i&&r&&r.number!==i?i:void 0,prettyUrl:null!=h?h.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(n=null==o?void 0:o.duplicatedPrettyUrls.has(null!=h?h:""))&&void 0!==n&&n,section:s}}async getAccurateNavigationData(t,i,s){return await this.getEnrichedToc(),this.getNavigationData(t,i,s)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((i=>{var s;return i?{type:i.topics.type,rating:null===(s=i.topics)||void 0===s?void 0:s.ratings.find((i=>i.tocId===t))}:void 0}))}rateMap(t,i){return this.api.rateMap(this.mapId,t,i).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,i,s){return this.api.rateTopic(this.mapId,t,i,s).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=h.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,i){return this.api.sendTopicFeedback(this.mapId,t,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class m{static build(t){return new m((t=>i.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:n}))(t.trim()||"context"),w.build)}constructor(t,s){this.store=t,this.reloadDebouncer=new i.Debouncer(10),this.initService(s)}async initService(t){this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}setMapId(t){this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),this.reload()}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await i.delay(5);return this.service}async navigateToTopic(t,i,s){const e=await this.awaitService();let n=await(null!=s?e.getPage(s):e.getPageByTocId(t));this.store.actions.setCurrentPage(n),this.store.actions.setScrollTarget({tocId:t,section:i})}async navigateToPage(t){const i=await this.awaitService();let s=await i.getPage(t);this.store.actions.setCurrentPage(s)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t,i;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(i=this.service)||void 0===i?void 0:i.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,i,s,e,n;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(i=this.service)||void 0===i?void 0:i.getMap().then((t=>this.store.actions.setMap(t))),null===(s=this.service)||void 0===s?void 0:s.getToc().then((t=>this.store.actions.setToc(t))),null===(e=this.service)||void 0===e?void 0:e.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){this.errorHandler&&this.errorHandler(t)}}}const f=s.css`
5
+ `;var y=function(t,i,s,e){for(var n,o=arguments.length,r=o<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,a=t.length-1;a>=0;a--)(n=t[a])&&(r=(o<3?n(r):o>3?n(i,s,r):n(i,s))||r);return o>3&&r&&Object.defineProperty(i,s,r),r};class b extends CustomEvent{constructor(t,i){super("ft-reader-map-loaded",{detail:{map:t,toc:i}})}}class T extends CustomEvent{constructor(t,i){super("ft-reader-visible-topics-change",{detail:{visibleTopics:i}})}}class I extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class C extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class U extends Event{constructor(){super("ft-reader-map-not-found")}}class S extends Event{constructor(){super("ft-reader-map-unauthorized")}}class P extends i.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new i.Debouncer(5),this.navigationDebouncer=new i.Debouncer(50),this.addStore(h)}render(){return s.html`
6
6
  ${this.importStyleIfNeeded()}
7
7
  <slot @register-ft-reader-component=${this.registerComponent}></slot>
8
8
  `}importStyleIfNeeded(){var t,i;const e=null===(t=this.stateManager.service)||void 0===t?void 0:t.themeStylesheet();return!e||window.location.href.startsWith(null!==(i=this.baseUrl)&&void 0!==i?i:"")?s.nothing:s.html`
9
9
  <style>
10
10
  @import "${e}"
11
11
  </style>
12
- `}get stateManager(){return null==this._stateManager&&(this._stateManager=m.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),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 i=t.fontsStylesheet();if(i&&!window.location.href.startsWith(this.baseUrl)&&!document.querySelector(`head link[href="${i}"]`)){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href",i),document.head.append(t)}}))}updated(t){super.updated(t),t.has("mapId")&&this.stateManager.setMapId(this.mapId),(t.has("tocId")||t.has("section")||t.has("page"))&&this.tocId?this.stateManager.navigateToTopic(this.tocId,this.section,this.page):t.has("page")&&!this.tocId&&null!=this.page?this.stateManager.navigateToPage(this.page):t.has("mapId")&&this.mapId&&this.navigateToTarget()}contentAvailableCallback(t){var i;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new b(this.map,this.toc)),t.has("scrollTarget")&&null==(null===(i=this.scrollTarget)||void 0===i?void 0:i.tocId)){const i=t.get("scrollTarget");null!=(null==i?void 0:i.tocId)&&this.navigationDebouncer.run((()=>{var t;return this.stateManager.service.getAccurateNavigationData(i.tocId,null===(t=this.currentPage)||void 0===t?void 0:t.number,i.section).then((t=>this.dispatchEvent(new I(t))))}))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>{var i;return this.stateManager.service.getAccurateNavigationData(t,null===(i=this.currentPage)||void 0===i?void 0:i.number)}))).then((t=>{let i=t.filter((t=>null!=t&&""!==t.topicTitle)).map((t=>({tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:this.buildBreadcrumb(t.tocId)})));this.dispatchEvent(new T(this.map,i))}))}buildBreadcrumb(t){var i,s,e,n;let o=[],r=null===(s=null===(i=this.stateManager.service)||void 0===i?void 0:i.getTocNodeNow(t))||void 0===s?void 0:s.parentTocId,a=null===(e=this.stateManager.service)||void 0===e?void 0:e.getTocNodeNow(r);for(;a;)o.unshift({tocId:a.tocId,title:a.title}),a=null===(n=this.stateManager.service)||void 0===n?void 0:n.getTocNodeNow(a.parentTocId);return o}async reload(){await this.stateManager.reload(),this.navigateToTarget()}navigateToTarget(){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 i=t.composedPath()[0];this.register(i)}register(t){t.setReaderStateManager(this.stateManager)}handleLoadError(t){const i=t;404===i.status?this.dispatchEvent(new U):401===i.status?this.dispatchEvent(new S):this.dispatchEvent(new C(t))}}var x;P.styles=f,y([i.redux({store:h.name})],P.prototype,"baseUrl",void 0),y([e.property()],P.prototype,"mapId",void 0),y([e.property()],P.prototype,"tocId",void 0),y([e.property()],P.prototype,"section",void 0),y([e.property({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:x}})],P.prototype,"page",void 0),y([i.redux({store:"reader"})],P.prototype,"map",void 0),y([i.redux({store:"reader"})],P.prototype,"toc",void 0),y([i.redux({store:"reader"})],P.prototype,"visibleTopics",void 0),y([i.redux({store:"reader"})],P.prototype,"currentPage",void 0),y([i.redux({store:"reader"})],P.prototype,"scrollTarget",void 0),i.customElement("ft-reader-context")(P),t.FtReaderContext=P,t.FtReaderContextCssVariables={},t.LoadErrorEvent=C,t.MapLoadedEvent=b,t.NavigationDoneEvent=I,t.NotFoundErrorEvent=U,t.UnauthorizedErrorEvent=S,t.VisibleTopicsChangeEvent=T,t.styles=f}({},ftGlobals.wcUtils,ftGlobals.lit,ftGlobals.litDecorators);
12
+ `}get stateManager(){return null==this._stateManager&&(this._stateManager=m.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),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 i=t.fontsStylesheet();if(i&&!window.location.href.startsWith(this.baseUrl)&&!document.querySelector(`head link[href="${i}"]`)){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href",i),document.head.append(t)}}))}updated(t){super.updated(t),t.has("mapId")&&this.stateManager.setMapId(this.mapId),["tocId","section","page","mapId"].some((i=>t.has(i)))&&this.mapId&&this.navigateToTarget()}contentAvailableCallback(t){var i;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new b(this.map,this.toc)),t.has("scrollTarget")&&null==(null===(i=this.scrollTarget)||void 0===i?void 0:i.tocId)){const i=t.get("scrollTarget");null!=(null==i?void 0:i.tocId)&&this.scrollToTargetDebouncer.run((()=>{var t;return this.stateManager.service.getAccurateNavigationData(i.tocId,null===(t=this.currentPage)||void 0===t?void 0:t.number,i.section).then((t=>this.dispatchEvent(new I(t))))}))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>{var i;return this.stateManager.service.getAccurateNavigationData(t,null===(i=this.currentPage)||void 0===i?void 0:i.number)}))).then((t=>{let i=t.filter((t=>null!=t&&""!==t.topicTitle)).map((t=>({tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:this.buildBreadcrumb(t.tocId)})));this.dispatchEvent(new T(this.map,i))}))}buildBreadcrumb(t){var i,s,e,n;let o=[],r=null===(s=null===(i=this.stateManager.service)||void 0===i?void 0:i.getTocNodeNow(t))||void 0===s?void 0:s.parentTocId,a=null===(e=this.stateManager.service)||void 0===e?void 0:e.getTocNodeNow(r);for(;a;)o.unshift({tocId:a.tocId,title:a.title}),a=null===(n=this.stateManager.service)||void 0===n?void 0:n.getTocNodeNow(a.parentTocId);return o}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 i=t.composedPath()[0];this.register(i)}register(t){t.setReaderStateManager(this.stateManager)}handleLoadError(t){const i=t;404===i.status?this.dispatchEvent(new U):401===i.status?this.dispatchEvent(new S):this.dispatchEvent(new C(t))}}var x;P.styles=f,y([i.redux({store:h.name})],P.prototype,"baseUrl",void 0),y([e.property()],P.prototype,"mapId",void 0),y([e.property()],P.prototype,"tocId",void 0),y([e.property()],P.prototype,"section",void 0),y([e.property({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:x}})],P.prototype,"page",void 0),y([i.redux({store:"reader"})],P.prototype,"map",void 0),y([i.redux({store:"reader"})],P.prototype,"toc",void 0),y([i.redux({store:"reader"})],P.prototype,"visibleTopics",void 0),y([i.redux({store:"reader"})],P.prototype,"currentPage",void 0),y([i.redux({store:"reader"})],P.prototype,"scrollTarget",void 0),i.customElement("ft-reader-context")(P),t.FtReaderContext=P,t.FtReaderContextCssVariables={},t.LoadErrorEvent=C,t.MapLoadedEvent=b,t.NavigationDoneEvent=I,t.NotFoundErrorEvent=U,t.UnauthorizedErrorEvent=S,t.VisibleTopicsChangeEvent=T,t.styles=f}({},ftGlobals.wcUtils,ftGlobals.lit,ftGlobals.litDecorators);
@@ -81,12 +81,12 @@ var ht,ft;let dt=class extends R{constructor(){super(...arguments),this.renderOp
81
81
  `;class St{constructor(t,e){this.defaultLabels=t,this.labels=e}resolve(t,...e){var i,n;t=this.resolvePluralKey(t,e);let r=null!==(n=null!==(i=this.labels[t])&&void 0!==i?i:this.defaultLabels[t])&&void 0!==n?n:"";return e.forEach(((t,e)=>r=r.replace(new RegExp(`\\{${e}([^}]*)\\}`,"g"),((e,i)=>this.formatValue(t,i))))),r}resolvePluralKey(t,e){for(let i of e)if("number"==typeof i){const e=`${String(t)}[\\=${i}]`;if(e in this.labels||e in this.defaultLabels)return e}return t}formatValue(t,e){return t instanceof Date?this.formatDate(t,e):null!=t?t:""}formatDate(t,e){const i=i=>(null==e?void 0:e.includes("date"))?t.toLocaleDateString(i):(null==e?void 0:e.includes("time"))?t.toLocaleTimeString(i):t.toLocaleString(i);try{return i(document.documentElement.lang)}catch(t){return i()}}}function Et(t){for(var e=arguments.length,i=Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+t+(i.length?" "+i.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function jt(t){return!!t&&!!t[he]}function Ct(t){var e;return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;var i=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;return i===Object||"function"==typeof i&&Function.toString.call(i)===fe}(t)||Array.isArray(t)||!!t[le]||!!(null===(e=t.constructor)||void 0===e?void 0:e[le])||Tt(t)||kt(t))}function Nt(t,e,i){void 0===i&&(i=!1),0===Rt(t)?(i?Object.keys:de)(t).forEach((function(n){i&&"symbol"==typeof n||e(n,t[n],t)})):t.forEach((function(i,n){return e(n,i,t)}))}function Rt(t){var e=t[he];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:Tt(t)?2:kt(t)?3:0}function Mt(t,e){return 2===Rt(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function At(t,e,i){var n=Rt(t);2===n?t.set(e,i):3===n?t.add(i):t[e]=i}function Ut(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function Tt(t){return se&&t instanceof Map}function kt(t){return ue&&t instanceof Set}function It(t){return t.o||t.t}function Pt(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=ve(t);delete e[he];for(var i=de(e),n=0;n<i.length;n++){var r=i[n],o=e[r];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(e[r]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[r]})}return Object.create(Object.getPrototypeOf(t),e)}function $t(t,e){return void 0===e&&(e=!1),Ft(t)||jt(t)||!Ct(t)||(Rt(t)>1&&(t.set=t.add=t.clear=t.delete=Lt),Object.freeze(t),e&&Nt(t,(function(t,e){return $t(e,!0)}),!0)),t}function Lt(){Et(2)}function Ft(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function _t(t){var e=pe[t];return e||Et(18,t),e}function Bt(){return re}function Wt(t,e){e&&(_t("Patches"),t.u=[],t.s=[],t.v=e)}function Dt(t){Kt(t),t.p.forEach(Vt),t.p=null}function Kt(t){t===re&&(re=t.l)}function qt(t){return re={p:[],l:re,h:t,m:!0,_:0}}function Vt(t){var e=t[he];0===e.i||1===e.i?e.j():e.g=!0}function Ht(t,e){e._=e.p.length;var i=e.p[0],n=void 0!==t&&t!==i;return e.h.O||_t("ES5").S(e,t,n),n?(i[he].P&&(Dt(e),Et(4)),Ct(t)&&(t=zt(e,t),e.l||Zt(e,t)),e.u&&_t("Patches").M(i[he].t,t,e.u,e.s)):t=zt(e,i,[]),Dt(e),e.u&&e.v(e.u,e.s),t!==ce?t:void 0}function zt(t,e,i){if(Ft(e))return e;var n=e[he];if(!n)return Nt(e,(function(r,o){return Jt(t,n,e,r,o,i)}),!0),e;if(n.A!==t)return e;if(!n.P)return Zt(t,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var r=4===n.i||5===n.i?n.o=Pt(n.k):n.o,o=r,s=!1;3===n.i&&(o=new Set(r),r.clear(),s=!0),Nt(o,(function(e,o){return Jt(t,n,r,e,o,i,s)})),Zt(t,r,!1),i&&t.u&&_t("Patches").N(n,i,t.u,t.s)}return n.o}function Jt(t,e,i,n,r,o,s){if(jt(r)){var u=zt(t,r,o&&e&&3!==e.i&&!Mt(e.R,n)?o.concat(n):void 0);if(At(i,n,u),!jt(u))return;t.m=!1}else s&&i.add(r);if(Ct(r)&&!Ft(r)){if(!t.h.D&&t._<1)return;zt(t,r),e&&e.A.l||Zt(t,r)}}function Zt(t,e,i){void 0===i&&(i=!1),!t.l&&t.h.D&&t.m&&$t(e,i)}function Gt(t,e){var i=t[he];return(i?It(i):t)[e]}function Xt(t,e){if(e in t)for(var i=Object.getPrototypeOf(t);i;){var n=Object.getOwnPropertyDescriptor(i,e);if(n)return n;i=Object.getPrototypeOf(i)}}function Qt(t){t.P||(t.P=!0,t.l&&Qt(t.l))}function Yt(t){t.o||(t.o=Pt(t.t))}function te(t,e,i){var n=Tt(e)?_t("MapSet").F(e,i):kt(e)?_t("MapSet").T(e,i):t.O?function(t,e){var i=Array.isArray(t),n={i:i?1:0,A:e?e.A:Bt(),P:!1,I:!1,R:{},l:e,t,k:null,o:null,j:null,C:!1},r=n,o=be;i&&(r=[n],o=ye);var s=Proxy.revocable(r,o),u=s.revoke,a=s.proxy;return n.k=a,n.j=u,a}(e,i):_t("ES5").J(e,i);return(i?i.A:Bt()).p.push(n),n}function ee(t){return jt(t)||Et(22,t),function t(e){if(!Ct(e))return e;var i,n=e[he],r=Rt(e);if(n){if(!n.P&&(n.i<4||!_t("ES5").K(n)))return n.t;n.I=!0,i=ie(e,r),n.I=!1}else i=ie(e,r);return Nt(i,(function(e,r){n&&function(t,e){return 2===Rt(t)?t.get(e):t[e]}(n.t,e)===r||At(i,e,t(r))})),3===r?new Set(i):i}(t)}function ie(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Pt(t)}var ne,re,oe="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),se="undefined"!=typeof Map,ue="undefined"!=typeof Set,ae="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,ce=oe?Symbol.for("immer-nothing"):((ne={})["immer-nothing"]=!0,ne),le=oe?Symbol.for("immer-draftable"):"__$immer_draftable",he=oe?Symbol.for("immer-state"):"__$immer_state",fe=""+Object.prototype.constructor,de="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,ve=Object.getOwnPropertyDescriptors||function(t){var e={};return de(t).forEach((function(i){e[i]=Object.getOwnPropertyDescriptor(t,i)})),e},pe={},be={get:function(t,e){if(e===he)return t;var i=It(t);if(!Mt(i,e))return function(t,e,i){var n,r=Xt(e,i);return r?"value"in r?r.value:null===(n=r.get)||void 0===n?void 0:n.call(t.k):void 0}(t,i,e);var n=i[e];return t.I||!Ct(n)?n:n===Gt(t.t,e)?(Yt(t),t.o[e]=te(t.A.h,n,t)):n},has:function(t,e){return e in It(t)},ownKeys:function(t){return Reflect.ownKeys(It(t))},set:function(t,e,i){var n=Xt(It(t),e);if(null==n?void 0:n.set)return n.set.call(t.k,i),!0;if(!t.P){var r=Gt(It(t),e),o=null==r?void 0:r[he];if(o&&o.t===i)return t.o[e]=i,t.R[e]=!1,!0;if(Ut(i,r)&&(void 0!==i||Mt(t.t,e)))return!0;Yt(t),Qt(t)}return t.o[e]===i&&(void 0!==i||e in t.o)||Number.isNaN(i)&&Number.isNaN(t.o[e])||(t.o[e]=i,t.R[e]=!0),!0},deleteProperty:function(t,e){return void 0!==Gt(t.t,e)||e in t.t?(t.R[e]=!1,Yt(t),Qt(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var i=It(t),n=Reflect.getOwnPropertyDescriptor(i,e);return n?{writable:!0,configurable:1!==t.i||"length"!==e,enumerable:n.enumerable,value:i[e]}:n},defineProperty:function(){Et(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){Et(12)}},ye={};Nt(be,(function(t,e){ye[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),ye.deleteProperty=function(t,e){return ye.set.call(this,t,e,void 0)},ye.set=function(t,e,i){return be.set.call(this,t[0],e,i,t[0])};var we=function(){function t(t){var e=this;this.O=ae,this.D=!0,this.produce=function(t,i,n){if("function"==typeof t&&"function"!=typeof i){var r=i;i=t;var o=e;return function(t){var e=this;void 0===t&&(t=r);for(var n=arguments.length,s=Array(n>1?n-1:0),u=1;u<n;u++)s[u-1]=arguments[u];return o.produce(t,(function(t){var n;return(n=i).call.apply(n,[e,t].concat(s))}))}}var s;if("function"!=typeof i&&Et(6),void 0!==n&&"function"!=typeof n&&Et(7),Ct(t)){var u=qt(e),a=te(e,t,void 0),c=!0;try{s=i(a),c=!1}finally{c?Dt(u):Kt(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return Wt(u,n),Ht(t,u)}),(function(t){throw Dt(u),t})):(Wt(u,n),Ht(s,u))}if(!t||"object"!=typeof t){if(void 0===(s=i(t))&&(s=t),s===ce&&(s=void 0),e.D&&$t(s,!0),n){var l=[],h=[];_t("Patches").M(t,s,l,h),n(l,h)}return s}Et(21,t)},this.produceWithPatches=function(t,i){if("function"==typeof t)return function(i){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return e.produceWithPatches(i,(function(e){return t.apply(void 0,[e].concat(r))}))};var n,r,o=e.produce(t,i,(function(t,e){n=t,r=e}));return"undefined"!=typeof Promise&&o instanceof Promise?o.then((function(t){return[t,n,r]})):[o,n,r]},"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze)}var e=t.prototype;return e.createDraft=function(t){Ct(t)||Et(8),jt(t)&&(t=ee(t));var e=qt(this),i=te(this,t,void 0);return i[he].C=!0,Kt(e),i},e.finishDraft=function(t,e){var i=(t&&t[he]).A;return Wt(i,e),Ht(void 0,i)},e.setAutoFreeze=function(t){this.D=t},e.setUseProxies=function(t){t&&!ae&&Et(20),this.O=t},e.applyPatches=function(t,e){var i;for(i=e.length-1;i>=0;i--){var n=e[i];if(0===n.path.length&&"replace"===n.op){t=n.value;break}}i>-1&&(e=e.slice(i+1));var r=_t("Patches").$;return jt(t)?r(t,e):this.produce(t,(function(t){return r(t,e)}))},t}(),me=new we,ge=me.produce;function xe(t){return xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xe(t)}function Oe(t){var e=function(t,e){if("object"!==xe(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!==xe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===xe(e)?e:String(e)}function Se(t,e,i){return(e=Oe(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function Ee(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function je(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?Ee(Object(i),!0).forEach((function(e){Se(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Ee(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function Ce(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}me.produceWithPatches.bind(me),me.setAutoFreeze.bind(me),me.setUseProxies.bind(me),me.applyPatches.bind(me),me.createDraft.bind(me),me.finishDraft.bind(me);var Ne="function"==typeof Symbol&&Symbol.observable||"@@observable",Re=function(){return Math.random().toString(36).substring(7).split("").join(".")},Me={INIT:"@@redux/INIT"+Re(),REPLACE:"@@redux/REPLACE"+Re(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Re()}};function Ae(t,e,i){var n;if("function"==typeof e&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(Ce(0));if("function"==typeof e&&void 0===i&&(i=e,e=void 0),void 0!==i){if("function"!=typeof i)throw new Error(Ce(1));return i(Ae)(t,e)}if("function"!=typeof t)throw new Error(Ce(2));var r=t,o=e,s=[],u=s,a=!1;function c(){u===s&&(u=s.slice())}function l(){if(a)throw new Error(Ce(3));return o}function h(t){if("function"!=typeof t)throw new Error(Ce(4));if(a)throw new Error(Ce(5));var e=!0;return c(),u.push(t),function(){if(e){if(a)throw new Error(Ce(6));e=!1,c();var i=u.indexOf(t);u.splice(i,1),s=null}}}function f(t){if(!function(t){if("object"!=typeof t||null===t)return!1;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t))throw new Error(Ce(7));if(void 0===t.type)throw new Error(Ce(8));if(a)throw new Error(Ce(9));try{a=!0,o=r(o,t)}finally{a=!1}for(var e=s=u,i=0;i<e.length;i++){(0,e[i])()}return t}return f({type:Me.INIT}),(n={dispatch:f,subscribe:h,getState:l,replaceReducer:function(t){if("function"!=typeof t)throw new Error(Ce(10));r=t,f({type:Me.REPLACE})}})[Ne]=function(){var t,e=h;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(Ce(11));function i(){t.next&&t.next(l())}return i(),{unsubscribe:e(i)}}})[Ne]=function(){return this},t},n}function Ue(t){for(var e=Object.keys(t),i={},n=0;n<e.length;n++){var r=e[n];"function"==typeof t[r]&&(i[r]=t[r])}var o,s=Object.keys(i);try{!function(t){Object.keys(t).forEach((function(e){var i=t[e];if(void 0===i(void 0,{type:Me.INIT}))throw new Error(Ce(12));if(void 0===i(void 0,{type:Me.PROBE_UNKNOWN_ACTION()}))throw new Error(Ce(13))}))}(i)}catch(t){o=t}return function(t,e){if(void 0===t&&(t={}),o)throw o;for(var n=!1,r={},u=0;u<s.length;u++){var a=s[u],c=i[a],l=t[a],h=c(l,e);if(void 0===h)throw e&&e.type,new Error(Ce(14));r[a]=h,n=n||h!==l}return(n=n||s.length!==Object.keys(t).length)?r:t}}function Te(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return 0===e.length?function(t){return t}:1===e.length?e[0]:e.reduce((function(t,e){return function(){return t(e.apply(void 0,arguments))}}))}function ke(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return function(t){return function(){var i=t.apply(void 0,arguments),n=function(){throw new Error(Ce(15))},r={getState:i.getState,dispatch:function(){return n.apply(void 0,arguments)}},o=e.map((function(t){return t(r)}));return n=Te.apply(void 0,o)(i.dispatch),je(je({},i),{},{dispatch:n})}}}function Ie(t){return function(e){var i=e.dispatch,n=e.getState;return function(e){return function(r){return"function"==typeof r?r(i,n,t):e(r)}}}}var Pe=Ie();Pe.withExtraArgument=Ie;var $e,Le=Pe,Fe=($e=function(t,e){return $e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},$e(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}$e(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),_e=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}},Be=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},We=Object.defineProperty,De=Object.defineProperties,Ke=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,Ve=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable,ze=function(t,e,i){return e in t?We(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i},Je=function(t,e){for(var i in e||(e={}))Ve.call(e,i)&&ze(t,i,e[i]);if(qe)for(var n=0,r=qe(e);n<r.length;n++){i=r[n];He.call(e,i)&&ze(t,i,e[i])}return t},Ze=function(t,e){return De(t,Ke(e))},Ge="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?Te:Te.apply(null,arguments)};var Xe=function(t){function e(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var r=t.apply(this,i)||this;return Object.setPrototypeOf(r,e.prototype),r}return Fe(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Be([void 0],t[0].concat(this)))):new(e.bind.apply(e,Be([void 0],t.concat(this))))},e}(Array),Qe=function(t){function e(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var r=t.apply(this,i)||this;return Object.setPrototypeOf(r,e.prototype),r}return Fe(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Be([void 0],t[0].concat(this)))):new(e.bind.apply(e,Be([void 0],t.concat(this))))},e}(Array);function Ye(t){return Ct(t)?ge(t,(function(){})):t}function ti(){return function(t){return function(t){void 0===t&&(t={});var e=t.thunk,i=void 0===e||e;t.immutableCheck,t.serializableCheck;var n=new Xe;i&&(!function(t){return"boolean"==typeof t}(i)?n.push(Le.withExtraArgument(i.extraArgument)):n.push(Le));return n}(t)}}function ei(t){var e,i=ti(),n=t||{},r=n.reducer,o=void 0===r?void 0:r,s=n.middleware,u=void 0===s?i():s,a=n.devTools,c=void 0===a||a,l=n.preloadedState,h=void 0===l?void 0:l,f=n.enhancers,d=void 0===f?void 0:f;if("function"==typeof o)e=o;else{if(!function(t){if("object"!=typeof t||null===t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;for(var i=e;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return e===i}(o))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');e=Ue(o)}var v=u;"function"==typeof v&&(v=v(i));var p=ke.apply(void 0,v),b=Te;c&&(b=Ge(Je({trace:!1},"object"==typeof c&&c)));var y=new Qe(p),w=y;return Array.isArray(d)?w=Be([p],d):"function"==typeof d&&(w=d(y)),Ae(e,h,b.apply(void 0,w))}function ii(t,e){function i(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];if(e){var r=e.apply(void 0,i);if(!r)throw new Error("prepareAction did not return an object");return Je(Je({type:t,payload:r.payload},"meta"in r&&{meta:r.meta}),"error"in r&&{error:r.error})}return{type:t,payload:i[0]}}return i.toString=function(){return""+t},i.type=t,i.match=function(e){return e.type===t},i}function ni(t){var e,i={},n=[],r={addCase:function(t,e){var n="string"==typeof t?t:t.type;if(n in i)throw new Error("addCase cannot be called with two reducers for the same action type");return i[n]=e,r},addMatcher:function(t,e){return n.push({matcher:t,reducer:e}),r},addDefaultCase:function(t){return e=t,r}};return t(r),[i,n,e]}function ri(t){var e=t.name;if(!e)throw new Error("`name` is a required option for createSlice");var i,n="function"==typeof t.initialState?t.initialState:Ye(t.initialState),r=t.reducers||{},o=Object.keys(r),s={},u={},a={};function c(){var e="function"==typeof t.extraReducers?ni(t.extraReducers):[t.extraReducers],i=e[0],r=void 0===i?{}:i,o=e[1],s=void 0===o?[]:o,a=e[2],c=void 0===a?void 0:a,l=Je(Je({},r),u);return function(t,e,i,n){void 0===i&&(i=[]);var r,o="function"==typeof e?ni(e):[e,i,n],s=o[0],u=o[1],a=o[2];if(function(t){return"function"==typeof t}(t))r=function(){return Ye(t())};else{var c=Ye(t);r=function(){return c}}function l(t,e){void 0===t&&(t=r());var i=Be([s[e.type]],u.filter((function(t){return(0,t.matcher)(e)})).map((function(t){return t.reducer})));return 0===i.filter((function(t){return!!t})).length&&(i=[a]),i.reduce((function(t,i){if(i){var n;if(jt(t))return void 0===(n=i(t,e))?t:n;if(Ct(t))return ge(t,(function(t){return i(t,e)}));if(void 0===(n=i(t,e))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return n}return t}),t)}return l.getInitialState=r,l}(n,(function(t){for(var e in l)t.addCase(e,l[e]);for(var i=0,n=s;i<n.length;i++){var r=n[i];t.addMatcher(r.matcher,r.reducer)}c&&t.addDefaultCase(c)}))}return o.forEach((function(t){var i,n,o=r[t],c=e+"/"+t;"reducer"in o?(i=o.reducer,n=o.prepare):i=o,s[t]=i,u[c]=i,a[t]=n?ii(c,n):ii(c)})),{name:e,reducer:function(t,e){return i||(i=c()),i(t,e)},actions:a,caseReducers:s,getInitialState:function(){return i||(i=c()),i.getInitialState()}}}var oi=["name","message","stack","code"],si=function(t,e){this.payload=t,this.meta=e},ui=function(t,e){this.payload=t,this.meta=e},ai=function(t){if("object"==typeof t&&null!==t){for(var e={},i=0,n=oi;i<n.length;i++){var r=n[i];"string"==typeof t[r]&&(e[r]=t[r])}return e}return{message:String(t)}};function ci(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}!function(){function t(t,e,i){var n=ii(t+"/fulfilled",(function(t,e,i,n){return{payload:t,meta:Ze(Je({},n||{}),{arg:i,requestId:e,requestStatus:"fulfilled"})}})),r=ii(t+"/pending",(function(t,e,i){return{payload:void 0,meta:Ze(Je({},i||{}),{arg:e,requestId:t,requestStatus:"pending"})}})),o=ii(t+"/rejected",(function(t,e,n,r,o){return{payload:r,error:(i&&i.serializeError||ai)(t||"Rejected"),meta:Ze(Je({},o||{}),{arg:n,requestId:e,rejectedWithValue:!!r,requestStatus:"rejected",aborted:"AbortError"===(null==t?void 0:t.name),condition:"ConditionError"===(null==t?void 0:t.name)})}})),s="undefined"!=typeof AbortController?AbortController:function(){function t(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return t.prototype.abort=function(){},t}();return Object.assign((function(t){return function(u,a,c){var l,h=(null==i?void 0:i.idGenerator)?i.idGenerator(t):function(t){void 0===t&&(t=21);for(var e="",i=t;i--;)e+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return e}(),f=new s;function d(t){l=t,f.abort()}var v=function(){return s=this,v=null,p=function(){var s,v,p,b,y,w;return _e(this,(function(m){switch(m.label){case 0:return m.trys.push([0,4,,5]),b=null==(s=null==i?void 0:i.condition)?void 0:s.call(i,t,{getState:a,extra:c}),null===(g=b)||"object"!=typeof g||"function"!=typeof g.then?[3,2]:[4,b];case 1:b=m.sent(),m.label=2;case 2:if(!1===b||f.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return y=new Promise((function(t,e){return f.signal.addEventListener("abort",(function(){return e({name:"AbortError",message:l||"Aborted"})}))})),u(r(h,t,null==(v=null==i?void 0:i.getPendingMeta)?void 0:v.call(i,{requestId:h,arg:t},{getState:a,extra:c}))),[4,Promise.race([y,Promise.resolve(e(t,{dispatch:u,getState:a,extra:c,requestId:h,signal:f.signal,abort:d,rejectWithValue:function(t,e){return new si(t,e)},fulfillWithValue:function(t,e){return new ui(t,e)}})).then((function(e){if(e instanceof si)throw e;return e instanceof ui?n(e.payload,h,t,e.meta):n(e,h,t)}))])];case 3:return p=m.sent(),[3,5];case 4:return w=m.sent(),p=w instanceof si?o(null,h,t,w.payload,w.meta):o(w,h,t),[3,5];case 5:return i&&!i.dispatchConditionRejection&&o.match(p)&&p.meta.condition||u(p),[2,p]}var g}))},new Promise((function(t,e){var i=function(t){try{r(p.next(t))}catch(t){e(t)}},n=function(t){try{r(p.throw(t))}catch(t){e(t)}},r=function(e){return e.done?t(e.value):Promise.resolve(e.value).then(i,n)};r((p=p.apply(s,v)).next())}));var s,v,p}();return Object.assign(v,{abort:d,requestId:h,arg:t,unwrap:function(){return v.then(ci)}})}}),{pending:r,rejected:o,fulfilled:n,typePrefix:t})}t.withTypes=function(){return t}}();var li,hi,fi="listenerMiddleware";ii(fi+"/add"),ii(fi+"/removeAll"),ii(fi+"/remove"),"function"==typeof queueMicrotask&&queueMicrotask.bind("undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis),function(){function t(t,e){var i=r[t];return i?i.enumerable=e:r[t]=i={configurable:!0,enumerable:e,get:function(){var e=this[he];return be.get(e,t)},set:function(e){var i=this[he];be.set(i,t,e)}},i}function e(t){for(var e=t.length-1;e>=0;e--){var r=t[e][he];if(!r.P)switch(r.i){case 5:n(r)&&Qt(r);break;case 4:i(r)&&Qt(r)}}}function i(t){for(var e=t.t,i=t.k,n=de(i),r=n.length-1;r>=0;r--){var o=n[r];if(o!==he){var s=e[o];if(void 0===s&&!Mt(e,o))return!0;var u=i[o],a=u&&u[he];if(a?a.t!==s:!Ut(u,s))return!0}}var c=!!e[he];return n.length!==de(e).length+(c?0:1)}function n(t){var e=t.k;if(e.length!==t.t.length)return!0;var i=Object.getOwnPropertyDescriptor(e,e.length-1);if(i&&!i.get)return!0;for(var n=0;n<e.length;n++)if(!e.hasOwnProperty(n))return!0;return!1}var r={};!function(t,e){pe[t]||(pe[t]=e)}("ES5",{J:function(e,i){var n=Array.isArray(e),r=function(e,i){if(e){for(var n=Array(i.length),r=0;r<i.length;r++)Object.defineProperty(n,""+r,t(r,!0));return n}var o=ve(i);delete o[he];for(var s=de(o),u=0;u<s.length;u++){var a=s[u];o[a]=t(a,e||!!o[a].enumerable)}return Object.create(Object.getPrototypeOf(i),o)}(n,e),o={i:n?5:4,A:i?i.A:Bt(),P:!1,I:!1,R:{},l:i,t:e,k:r,o:null,g:!1,C:!1};return Object.defineProperty(r,he,{value:o,writable:!0}),r},S:function(t,i,r){r?jt(i)&&i[he].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var i=e[he];if(i){var r=i.t,o=i.k,s=i.R,u=i.i;if(4===u)Nt(o,(function(e){e!==he&&(void 0!==r[e]||Mt(r,e)?s[e]||t(o[e]):(s[e]=!0,Qt(i)))})),Nt(r,(function(t){void 0!==o[t]||Mt(o,t)||(s[t]=!1,Qt(i))}));else if(5===u){if(n(i)&&(Qt(i),s.length=!0),o.length<r.length)for(var a=o.length;a<r.length;a++)s[a]=!1;else for(var c=r.length;c<o.length;c++)s[c]=!0;for(var l=Math.min(o.length,r.length),h=0;h<l;h++)o.hasOwnProperty(h)||(s[h]=!0),void 0===s[h]&&t(o[h])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?i(t):n(t)}})}();const di=t=>{const e=null!=t?t:{};return(t,i)=>{var n;const r={hasChanged:(t,e)=>!u(t,e),attribute:!1,...e};o(r)(t,i);const s=t;s.reduxProperties=s.reduxProperties||new Map,s.reduxProperties.set(i,{selector:null!==(n=e.selector)&&void 0!==n?n:t=>t[i],store:e.store})}},vi=Symbol("internalStoresUnsubscribers"),pi=Symbol("internalStores");class bi extends Ot{constructor(){super(...arguments),this[li]=new Map,this[hi]=new Map}getUnnamedStore(){if(this[pi].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[pi].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[pi].get(t)}addStore(t,e){e=null!=e?e:t.name,this.unsubscribeFromStore(e),this.setupStore(e,t)}removeStore(t){const e="string"==typeof t?t:t.name;this.unsubscribeFromStore(e),this[pi].delete(e)}setupStore(t,e){this[pi].set(t,e),this.subscribeToStore(t,e),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[pi].forEach(((t,e)=>this.subscribeToStore(e,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,e)=>{const i=this.constructor.getPropertyOptions(e);if(!(null==i?void 0:i.attribute)||!this.hasAttribute("string"==typeof(null==i?void 0:i.attribute)?i.attribute:e)){const i=this.getStore(t.store);i&&(this[e]=t.selector(i.getState(),this))}}))}subscribeToStore(t,e){this[vi].set(t,e.subscribe((()=>this.updateFromStores()))),this.onStoreAvailable(t)}unsubscribeFromStores(){Object.keys(this[vi]).forEach((t=>this.unsubscribeFromStore(t)))}unsubscribeFromStore(t){this[vi].has(t)&&this[vi].get(t)(),this[vi].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){this.unsubscribeFromStores(),super.disconnectedCallback()}}li=vi,hi=pi;class yi{static get(t){window.ftReduxStores||(window.ftReduxStores={});const e="string"==typeof t?t:t.name,i="string"==typeof t?void 0:t,n=window.ftReduxStores[e];if(function(t){var e;return null!==(e=null==t?void 0:t.isFtReduxStore)&&void 0!==e&&e}(n))return n;if(null==i)return;const r=ri(i),o=ei({reducer:r.reducer});return window.ftReduxStores[i.name]=new yi(r,o)}constructor(t,e){this.reduxSlice=t,this.reduxStore=e,this.isFtReduxStore=!0,this.actions=new Proxy(this.reduxSlice.actions,{get:(t,e,i)=>{const n=t[e];if(n)return(...t)=>{const e=n(...t);return this.reduxStore.dispatch(e),e}}})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(t){throw new Error("Not implemented yet.")}subscribe(t){return this.reduxStore.subscribe(t)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}}var wi,mi;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(mi=null===(wi=window.safari)||void 0===wi?void 0:wi.pushNotification)||void 0===mi||mi.toString());const gi={setMapId:(t,e)=>{t.mapId=e.payload},setTocId:(t,e)=>{t.tocId=e.payload},setMap:(t,e)=>{t.map=e.payload},setToc:(t,e)=>{t.toc=e.payload},setPagesToc:(t,e)=>{t.pagesToc=e.payload},setPaginationConfiguration:(t,e)=>{t.paginationConfiguration=e.payload},setCurrentPage:(t,e)=>{t.currentPage=e.payload},setScrollTarget:(t,e)=>{t.scrollTarget=e.payload},setVisibleTopics:(t,e)=>{t.visibleTopics=e.payload},setConfiguration:(t,e)=>{t.configuration=e.payload}};class xi{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,i){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,i)),null==t.tocId?this.extractPagesToc(t.children,e,i):[{tocId:t.tocId,title:t.title,depth:e,children:this.extractPagesToc(t.children,e+1,t.tocId)}])))}convertNodes(t,e,i){return t.flatMap((t=>{var n,r,o;if(null==t.tocId)return[...this.convertSectionNodes(null!==(n=t.pageToc)&&void 0!==n?n:[],e,t.tocId),...this.convertNodes(t.children,e,t.tocId)];let s=null===(r=t.prettyUrl)||void 0===r?void 0:r.replace(/^\//,"");const u={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,prettyUrl:s,depth:e,parentTocId:i,children:[]};this.register(u);const a=this.convertSectionNodes(null!==(o=t.pageToc)&&void 0!==o?o:[],e+1,t.tocId),c=this.convertNodes(t.children,e+1,u.tocId);return u.children=[...a,...c],[u]}))}convertSectionNodes(t,e,i){return t.flatMap((t=>{var n;let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const o={...t,prettyUrl:r,depth:e,parentTocId:i,children:[]};return this.register(o),o.children=this.convertSectionNodes(t.children,e+1,t.tocId),[o]}))}buildPage(t,e){var i,n,r,o,s,u;const a={number:this.pages.length+1,title:null!==(i=t.title)&&void 0!==i?i:"",rootTocId:null!==(n=t.tocId)&&void 0!==n?n:"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?a.topics:a.hiddenTopics).push(t),l=null!==(s=null===(o=t.pageConfiguration)||void 0===o?void 0:o.parentsVisibility)&&void 0!==s?s:[];return a.breadcrumb.forEach(((t,e)=>{c(t,l[e])})),t.tocId&&c(t.tocId,t.pageConfiguration.isVisible),a.topics.push(...this.tocIds(null!==(u=t.pageToc)&&void 0!==u?u:[])),a}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 Oi{convertPaginatedToc(t){return new xi(t).build()}}const Si=y`
82
82
  `,Ei=yi.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 ji{static build(t){const{baseUrl:e,apiIntegrationIdentifier:i}=Ei.getState(),n=null!=t?t:i;if(e&&n&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(e,n,!0)}static get(t){var e;return null!=t?ji.build(t):null!==(e=ji.API)&&void 0!==e?e:ji.API=ji.build()}static await(t){return new Promise((e=>{let i=ji.get(t);if(i)e(i);else{const n=Ei.subscribe((()=>{i=ji.get(t),i&&(n(),e(i))}))}}))}}var Ci;const Ni=Symbol("clearAfterUnitTest");class Ri{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new i,this.listeners={},this.currentUiLocale="",this[Ci]=()=>{this.defaultMessages={},this.cache=new i,this.listeners={}},this.currentUiLocale=Ei.getState().uiLocale,Ei.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=Ei.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,e){var i;if(t=t.toLowerCase(),Object.keys(e).length>0){const n={...null!==(i=this.defaultMessages[t])&&void 0!==i?i:{},...e};u(this.defaultMessages[t],n)||(this.defaultMessages[t]=n,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,e,...i){var n,r,o;t=t.toLowerCase(),this.fetchContext(t);const s=null!==(r=null===(n=this.cache.getNow(t))||void 0===n?void 0:n.messages)&&void 0!==r?r:{};return new St(null!==(o=this.defaultMessages[t])&&void 0!==o?o:{},s).resolve(e,...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 i;return t=t.toLowerCase(),this.listeners[t]=null!==(i=this.listeners[t])&&void 0!==i?i:new Set,this.listeners[t].add(e),()=>{var i;return null===(i=this.listeners[t])||void 0===i?void 0:i.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=>l(0).then((()=>t())).catch((()=>null)))))}}Ci=Ni,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new Ri((async(t,e)=>(await ji.await()).getFluidTopicsMessageContext(t,e)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new Ri((async(t,e)=>(await ji.await()).getCustomMessageContext(t,e))));const Mi=window.FluidTopicsI18nService;var Ai=function(t,e,i,n){for(var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n,u=t.length-1;u>=0;u--)(r=t[u])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};class Ui extends Ot{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=()=>ji.get(),this.cache=new i,this.cleanSessionDebouncer=new n}render(){return Z`
83
83
  <slot></slot>
84
- `}updated(t){super.updated(t),t.has("baseUrl")&&Ei.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Ei.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Ei.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&Ei.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Ei.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Ei.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Ei.actions.setSession(this.session),t.has("availableUiLocales")&&Ei.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>Mi.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()))))}}Ui.elementDefinitions={},Ui.styles=Si,Ai([o()],Ui.prototype,"baseUrl",void 0),Ai([o()],Ui.prototype,"apiIntegrationIdentifier",void 0),Ai([o()],Ui.prototype,"uiLocale",void 0),Ai([c([])],Ui.prototype,"availableUiLocales",void 0),Ai([o({type:Boolean})],Ui.prototype,"editorMode",void 0),Ai([o({type:Boolean})],Ui.prototype,"noCustom",void 0),Ai([o({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],Ui.prototype,"noCustomComponent",void 0),Ai([o({type:Boolean})],Ui.prototype,"withManualResources",void 0),Ai([c([])],Ui.prototype,"messageContexts",void 0),Ai([c(void 0)],Ui.prototype,"session",void 0),Ai([o({type:Object})],Ui.prototype,"apiProvider",void 0),a("ft-app-context")(Ui);class Ti{static async build(t){return new Ti(new Oi,await ji.await(),new i,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,e,i,n){this.converter=t,this.api=e,this.cache=i,this._mapId=n,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.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=Ei.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(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,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,e,i){const n=this.getNavigationData(t,e,i),r="r/"+(n.prettyUrl?n.prettyUrl:`${n.mapId}/${n.tocId}`),o=new URL(r,this.api.tenantBaseUrl);return null!=n.page&&o.searchParams.set("page",`${n.page}`),n.prettyUrlDuplicated&&o.searchParams.set("tocId",n.tocId),null!=n.section&&o.searchParams.set("section",n.section),o.href}getNavigationData(t,e,i){var n,r;t=t||"root";const o=this.enrichedToc,s=null==o?void 0:o.pageByTocId[t],u=null==o?void 0:o.nodeByTocId[t],a=null==u?void 0:u.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(n=null==u?void 0:u.title)&&void 0!==n?n:"",page:e&&s&&s.number!==e?e:void 0,prettyUrl:null!=a?a.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(r=null==o?void 0:o.duplicatedPrettyUrls.has(null!=a?a:""))&&void 0!==r&&r,section:i}}async getAccurateNavigationData(t,e,i){return await this.getEnrichedToc(),this.getNavigationData(t,e,i)}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 i;return e?{type:e.topics.type,rating:null===(i=e.topics)||void 0===i?void 0:i.ratings.find((e=>e.tocId===t))}:void 0}))}rateMap(t,e){return this.api.rateMap(this.mapId,t,e).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,e,i){return this.api.rateTopic(this.mapId,t,e,i).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Ei.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,e){return this.api.sendTopicFeedback(this.mapId,t,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class ki{static build(t){return new ki((t=>yi.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:gi}))(t.trim()||"context"),Ti.build)}constructor(t,e){this.store=t,this.reloadDebouncer=new n(10),this.initService(e)}async initService(t){this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}setMapId(t){this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),this.reload()}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await l(5);return this.service}async navigateToTopic(t,e,i){const n=await this.awaitService();let r=await(null!=i?n.getPage(i):n.getPageByTocId(t));this.store.actions.setCurrentPage(r),this.store.actions.setScrollTarget({tocId:t,section:e})}async navigateToPage(t){const e=await this.awaitService();let i=await e.getPage(t);this.store.actions.setCurrentPage(i)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),(null===(t=this.service)||void 0===t?void 0:t.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,e,i,n,r;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(e=this.service)||void 0===e?void 0:e.getMap().then((t=>this.store.actions.setMap(t))),null===(i=this.service)||void 0===i?void 0:i.getToc().then((t=>this.store.actions.setToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(r=this.service)||void 0===r?void 0:r.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){this.errorHandler&&this.errorHandler(t)}}}const Ii=y`
85
- `;var Pi=function(t,e,i,n){for(var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n,u=t.length-1;u>=0;u--)(r=t[u])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};class $i extends CustomEvent{constructor(t,e){super("ft-reader-map-loaded",{detail:{map:t,toc:e}})}}class Li extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{visibleTopics:e}})}}class Fi extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class _i extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class Bi extends Event{constructor(){super("ft-reader-map-not-found")}}class Wi extends Event{constructor(){super("ft-reader-map-unauthorized")}}class Di extends bi{constructor(){super(),this.visibleTopics=[],this.navigationDebouncer=new n(5),this.addStore(Ei)}render(){return Z`
84
+ `}updated(t){super.updated(t),t.has("baseUrl")&&Ei.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Ei.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Ei.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&Ei.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Ei.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Ei.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Ei.actions.setSession(this.session),t.has("availableUiLocales")&&Ei.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>Mi.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()))))}}Ui.elementDefinitions={},Ui.styles=Si,Ai([o()],Ui.prototype,"baseUrl",void 0),Ai([o()],Ui.prototype,"apiIntegrationIdentifier",void 0),Ai([o()],Ui.prototype,"uiLocale",void 0),Ai([c([])],Ui.prototype,"availableUiLocales",void 0),Ai([o({type:Boolean})],Ui.prototype,"editorMode",void 0),Ai([o({type:Boolean})],Ui.prototype,"noCustom",void 0),Ai([o({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],Ui.prototype,"noCustomComponent",void 0),Ai([o({type:Boolean})],Ui.prototype,"withManualResources",void 0),Ai([c([])],Ui.prototype,"messageContexts",void 0),Ai([c(void 0)],Ui.prototype,"session",void 0),Ai([o({type:Object})],Ui.prototype,"apiProvider",void 0),a("ft-app-context")(Ui);class Ti{static async build(t){return new Ti(new Oi,await ji.await(),new i,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,e,i,n){this.converter=t,this.api=e,this.cache=i,this._mapId=n,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.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=Ei.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(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,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,e,i){const n=this.getNavigationData(t,e,i),r="r/"+(n.prettyUrl?n.prettyUrl:`${n.mapId}/${n.tocId}`),o=new URL(r,this.api.tenantBaseUrl);return null!=n.page&&o.searchParams.set("page",`${n.page}`),n.prettyUrlDuplicated&&o.searchParams.set("tocId",n.tocId),null!=n.section&&o.searchParams.set("section",n.section),o.href}getNavigationData(t,e,i){var n,r;t=t||"root";const o=this.enrichedToc,s=null==o?void 0:o.pageByTocId[t],u=null==o?void 0:o.nodeByTocId[t],a=null==u?void 0:u.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(n=null==u?void 0:u.title)&&void 0!==n?n:"",page:e&&s&&s.number!==e?e:void 0,prettyUrl:null!=a?a.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(r=null==o?void 0:o.duplicatedPrettyUrls.has(null!=a?a:""))&&void 0!==r&&r,section:i}}async getAccurateNavigationData(t,e,i){return await this.getEnrichedToc(),this.getNavigationData(t,e,i)}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 i;return e?{type:e.topics.type,rating:null===(i=e.topics)||void 0===i?void 0:i.ratings.find((e=>e.tocId===t))}:void 0}))}rateMap(t,e){return this.api.rateMap(this.mapId,t,e).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,e,i){return this.api.rateTopic(this.mapId,t,e,i).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Ei.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,e){return this.api.sendTopicFeedback(this.mapId,t,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class ki{static build(t){return new ki((t=>yi.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:gi}))(t.trim()||"context"),Ti.build)}constructor(t,e){this.store=t,this.reloadDebouncer=new n(10),this.initService(e)}async initService(t){this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}setMapId(t){this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),this.reload()}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await l(5);return this.service}async navigateToTopic(t,e,i){const n=await this.awaitService();let r=await(null!=i?n.getPage(i):n.getPageByTocId(t));this.store.actions.setCurrentPage(r),this.store.actions.setScrollTarget({tocId:t,section:e})}async navigateToPage(t){const e=await this.awaitService();let i=await e.getPage(t);this.store.actions.setCurrentPage(i)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t,e;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),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,e,i,n,r;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(e=this.service)||void 0===e?void 0:e.getMap().then((t=>this.store.actions.setMap(t))),null===(i=this.service)||void 0===i?void 0:i.getToc().then((t=>this.store.actions.setToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(r=this.service)||void 0===r?void 0:r.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){this.errorHandler&&this.errorHandler(t)}}}const Ii=y`
85
+ `;var Pi=function(t,e,i,n){for(var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n,u=t.length-1;u>=0;u--)(r=t[u])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};class $i extends CustomEvent{constructor(t,e){super("ft-reader-map-loaded",{detail:{map:t,toc:e}})}}class Li extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{visibleTopics:e}})}}class Fi extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class _i extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class Bi extends Event{constructor(){super("ft-reader-map-not-found")}}class Wi extends Event{constructor(){super("ft-reader-map-unauthorized")}}class Di extends bi{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new n(5),this.navigationDebouncer=new n(50),this.addStore(Ei)}render(){return Z`
86
86
  ${this.importStyleIfNeeded()}
87
87
  <slot @register-ft-reader-component=${this.registerComponent}></slot>
88
88
  `}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:"")?X:Z`
89
89
  <style>
90
90
  @import "${i}"
91
91
  </style>
92
- `}get stateManager(){return null==this._stateManager&&(this._stateManager=ki.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),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)}}))}updated(t){super.updated(t),t.has("mapId")&&this.stateManager.setMapId(this.mapId),(t.has("tocId")||t.has("section")||t.has("page"))&&this.tocId?this.stateManager.navigateToTopic(this.tocId,this.section,this.page):t.has("page")&&!this.tocId&&null!=this.page?this.stateManager.navigateToPage(this.page):t.has("mapId")&&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 $i(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.navigationDebouncer.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 Fi(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=>({tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:this.buildBreadcrumb(t.tocId)})));this.dispatchEvent(new Li(this.map,e))}))}buildBreadcrumb(t){var e,i,n,r;let o=[],s=null===(i=null===(e=this.stateManager.service)||void 0===e?void 0:e.getTocNodeNow(t))||void 0===i?void 0:i.parentTocId,u=null===(n=this.stateManager.service)||void 0===n?void 0:n.getTocNodeNow(s);for(;u;)o.unshift({tocId:u.tocId,title:u.title}),u=null===(r=this.stateManager.service)||void 0===r?void 0:r.getTocNodeNow(u.parentTocId);return o}async reload(){await this.stateManager.reload(),this.navigateToTarget()}navigateToTarget(){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 Bi):401===e.status?this.dispatchEvent(new Wi):this.dispatchEvent(new _i(t))}}var Ki;Di.styles=Ii,Pi([di({store:Ei.name})],Di.prototype,"baseUrl",void 0),Pi([o()],Di.prototype,"mapId",void 0),Pi([o()],Di.prototype,"tocId",void 0),Pi([o()],Di.prototype,"section",void 0),Pi([o({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:Ki}})],Di.prototype,"page",void 0),Pi([di({store:"reader"})],Di.prototype,"map",void 0),Pi([di({store:"reader"})],Di.prototype,"toc",void 0),Pi([di({store:"reader"})],Di.prototype,"visibleTopics",void 0),Pi([di({store:"reader"})],Di.prototype,"currentPage",void 0),Pi([di({store:"reader"})],Di.prototype,"scrollTarget",void 0),a("ft-reader-context")(Di),t.FtReaderContext=Di,t.FtReaderContextCssVariables={},t.LoadErrorEvent=_i,t.MapLoadedEvent=$i,t.NavigationDoneEvent=Fi,t.NotFoundErrorEvent=Bi,t.UnauthorizedErrorEvent=Wi,t.VisibleTopicsChangeEvent=Li,t.styles=Ii}({});
92
+ `}get stateManager(){return null==this._stateManager&&(this._stateManager=ki.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),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)}}))}updated(t){super.updated(t),t.has("mapId")&&this.stateManager.setMapId(this.mapId),["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 $i(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 Fi(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=>({tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:this.buildBreadcrumb(t.tocId)})));this.dispatchEvent(new Li(this.map,e))}))}buildBreadcrumb(t){var e,i,n,r;let o=[],s=null===(i=null===(e=this.stateManager.service)||void 0===e?void 0:e.getTocNodeNow(t))||void 0===i?void 0:i.parentTocId,u=null===(n=this.stateManager.service)||void 0===n?void 0:n.getTocNodeNow(s);for(;u;)o.unshift({tocId:u.tocId,title:u.title}),u=null===(r=this.stateManager.service)||void 0===r?void 0:r.getTocNodeNow(u.parentTocId);return o}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 Bi):401===e.status?this.dispatchEvent(new Wi):this.dispatchEvent(new _i(t))}}var Ki;Di.styles=Ii,Pi([di({store:Ei.name})],Di.prototype,"baseUrl",void 0),Pi([o()],Di.prototype,"mapId",void 0),Pi([o()],Di.prototype,"tocId",void 0),Pi([o()],Di.prototype,"section",void 0),Pi([o({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:Ki}})],Di.prototype,"page",void 0),Pi([di({store:"reader"})],Di.prototype,"map",void 0),Pi([di({store:"reader"})],Di.prototype,"toc",void 0),Pi([di({store:"reader"})],Di.prototype,"visibleTopics",void 0),Pi([di({store:"reader"})],Di.prototype,"currentPage",void 0),Pi([di({store:"reader"})],Di.prototype,"scrollTarget",void 0),a("ft-reader-context")(Di),t.FtReaderContext=Di,t.FtReaderContextCssVariables={},t.LoadErrorEvent=_i,t.MapLoadedEvent=$i,t.NavigationDoneEvent=Fi,t.NotFoundErrorEvent=Bi,t.UnauthorizedErrorEvent=Wi,t.VisibleTopicsChangeEvent=Li,t.styles=Ii}({});
@@ -46,13 +46,14 @@ export class FtReaderStateManager {
46
46
  this.store.actions.setScrollTarget({});
47
47
  }
48
48
  async reload() {
49
- var _a;
49
+ var _a, _b;
50
50
  this.store.actions.setConfiguration(undefined);
51
51
  this.store.actions.setMap(undefined);
52
52
  this.store.actions.setToc(undefined);
53
53
  this.store.actions.setPagesToc(undefined);
54
54
  this.store.actions.setCurrentPage(undefined);
55
- if ((_a = this.service) === null || _a === void 0 ? void 0 : _a.mapId) {
55
+ (_a = this.service) === null || _a === void 0 ? void 0 : _a.clear();
56
+ if ((_b = this.service) === null || _b === void 0 ? void 0 : _b.mapId) {
56
57
  await this.reloadDebouncer.run(() => this.fetchData());
57
58
  }
58
59
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-reader-context",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Context block for integrated reader components",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,8 +19,8 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-app-context": "1.0.0",
23
- "@fluid-topics/ft-wc-utils": "1.0.0",
22
+ "@fluid-topics/ft-app-context": "1.0.1",
23
+ "@fluid-topics/ft-wc-utils": "1.0.1",
24
24
  "@reduxjs/toolkit": "^1.6.2",
25
25
  "lit": "2.7.2"
26
26
  },
@@ -30,5 +30,5 @@
30
30
  "peerDependencies": {
31
31
  "@fluid-topics/public-api": "1.0.33"
32
32
  },
33
- "gitHead": "90895771e0ea740f1a0d972b9fd3796051757255"
33
+ "gitHead": "8e883d50248d276ce48981f8a1a0407e46400bd1"
34
34
  }