@fluid-topics/ft-reader-context 0.3.71 → 1.0.0-alpha.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.
- package/build/ft-reader-context.css.d.ts +0 -1
- package/build/ft-reader-context.css.js +0 -1
- package/build/ft-reader-context.d.ts +1 -3
- package/build/ft-reader-context.js +8 -28
- package/build/ft-reader-context.light.js +7 -7
- package/build/ft-reader-context.min.js +15 -26
- package/build/ft-reader-context.properties.d.ts +0 -1
- package/build/ft-reader-context.properties.js +0 -1
- package/build/index.d.ts +0 -1
- package/build/index.js +0 -1
- package/build/registration.d.ts +4 -6
- package/build/registration.js +8 -6
- package/build/store/FtReaderStateManager.d.ts +0 -1
- package/build/store/FtReaderStateManager.js +3 -4
- package/build/store/model.d.ts +2 -3
- package/build/store/model.js +0 -1
- package/build/store/redux.d.ts +1 -2
- package/build/store/redux.js +0 -1
- package/build/store/utils/FtReaderConverter.d.ts +1 -2
- package/build/store/utils/FtReaderConverter.js +0 -1
- package/build/store/utils/FtReaderService.d.ts +0 -1
- package/build/store/utils/FtReaderService.js +7 -8
- package/package.json +5 -5
|
@@ -4,7 +4,7 @@ import { FtReaderComponentInterface } from "./registration";
|
|
|
4
4
|
import { FtReaderNavigationData, FtReaderPage, FtReaderScrollTarget, FtReaderTocNode } from "./store/model";
|
|
5
5
|
import type { FtMap } from "@fluid-topics/public-api";
|
|
6
6
|
import { FtReaderContextProperties } from "./ft-reader-context.properties";
|
|
7
|
-
|
|
7
|
+
type MapLoadedEventDetail = {
|
|
8
8
|
map: FtMap;
|
|
9
9
|
toc: Array<FtReaderTocNode>;
|
|
10
10
|
};
|
|
@@ -44,7 +44,6 @@ export declare class UnauthorizedErrorEvent extends Event {
|
|
|
44
44
|
export declare class FtReaderContext extends FtLitElementRedux implements FtReaderContextProperties {
|
|
45
45
|
static styles: import("lit").CSSResult;
|
|
46
46
|
baseUrl?: string;
|
|
47
|
-
apiIntegrationIdentifier: string;
|
|
48
47
|
mapId?: string;
|
|
49
48
|
tocId?: string;
|
|
50
49
|
section?: string;
|
|
@@ -71,4 +70,3 @@ export declare class FtReaderContext extends FtLitElementRedux implements FtRead
|
|
|
71
70
|
private handleLoadError;
|
|
72
71
|
}
|
|
73
72
|
export {};
|
|
74
|
-
//# sourceMappingURL=ft-reader-context.d.ts.map
|
|
@@ -41,10 +41,9 @@ export class UnauthorizedErrorEvent extends Event {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
const fromNumberAttribute = (defaultValue) => (value) => +(value !== null && value !== void 0 ? value : "NaN") > 0 ? +value : defaultValue;
|
|
44
|
-
|
|
44
|
+
class FtReaderContext extends FtLitElementRedux {
|
|
45
45
|
constructor() {
|
|
46
46
|
super();
|
|
47
|
-
this.apiIntegrationIdentifier = "ft-reader";
|
|
48
47
|
this.visibleTopics = [];
|
|
49
48
|
this.navigationDebouncer = new Debouncer(5);
|
|
50
49
|
this.addStore(ftAppInfoStore);
|
|
@@ -57,12 +56,13 @@ export class FtReaderContext extends FtLitElementRedux {
|
|
|
57
56
|
}
|
|
58
57
|
importStyleIfNeeded() {
|
|
59
58
|
var _a, _b;
|
|
60
|
-
|
|
59
|
+
const themeStylesheet = (_a = this.stateManager.service) === null || _a === void 0 ? void 0 : _a.themeStylesheet();
|
|
60
|
+
if (!themeStylesheet || window.location.href.startsWith((_b = this.baseUrl) !== null && _b !== void 0 ? _b : "")) {
|
|
61
61
|
return nothing;
|
|
62
62
|
}
|
|
63
63
|
return html `
|
|
64
64
|
<style>
|
|
65
|
-
@import "${
|
|
65
|
+
@import "${themeStylesheet}"
|
|
66
66
|
</style>
|
|
67
67
|
`;
|
|
68
68
|
}
|
|
@@ -76,9 +76,10 @@ export class FtReaderContext extends FtLitElementRedux {
|
|
|
76
76
|
}
|
|
77
77
|
connectedCallback() {
|
|
78
78
|
super.connectedCallback();
|
|
79
|
+
this.stateManager.setMapId(this.mapId);
|
|
79
80
|
this.stateManager.awaitService().then(service => {
|
|
80
81
|
const fontsStylesheet = service.fontsStylesheet();
|
|
81
|
-
if (!window.location.href.startsWith(this.baseUrl) && !document.querySelector(`head link[href="${fontsStylesheet}"]`)) {
|
|
82
|
+
if (fontsStylesheet && !window.location.href.startsWith(this.baseUrl) && !document.querySelector(`head link[href="${fontsStylesheet}"]`)) {
|
|
82
83
|
const fonts = document.createElement("link");
|
|
83
84
|
fonts.setAttribute("rel", "stylesheet");
|
|
84
85
|
fonts.setAttribute("href", fontsStylesheet);
|
|
@@ -88,18 +89,6 @@ export class FtReaderContext extends FtLitElementRedux {
|
|
|
88
89
|
}
|
|
89
90
|
updated(props) {
|
|
90
91
|
super.updated(props);
|
|
91
|
-
if (props.has("baseUrl") && this.baseUrl) { // TODO remove compat
|
|
92
|
-
const { baseUrl } = ftAppInfoStore.getState();
|
|
93
|
-
if (baseUrl == null) {
|
|
94
|
-
ftAppInfoStore.actions.setBaseUrl(this.baseUrl);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
if (props.has("apiIntegrationIdentifier") && this.apiIntegrationIdentifier) { // TODO remove compat
|
|
98
|
-
const { apiIntegrationIdentifier } = ftAppInfoStore.getState();
|
|
99
|
-
if (apiIntegrationIdentifier == null) {
|
|
100
|
-
ftAppInfoStore.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
92
|
if (props.has("mapId")) {
|
|
104
93
|
this.stateManager.setMapId(this.mapId);
|
|
105
94
|
}
|
|
@@ -192,17 +181,8 @@ export class FtReaderContext extends FtLitElementRedux {
|
|
|
192
181
|
// language=CSS
|
|
193
182
|
FtReaderContext.styles = styles;
|
|
194
183
|
__decorate([
|
|
195
|
-
redux({
|
|
196
|
-
attribute: true,
|
|
197
|
-
store: ftAppInfoStore.name
|
|
198
|
-
})
|
|
184
|
+
redux({ store: ftAppInfoStore.name })
|
|
199
185
|
], FtReaderContext.prototype, "baseUrl", void 0);
|
|
200
|
-
__decorate([
|
|
201
|
-
redux({
|
|
202
|
-
attribute: true,
|
|
203
|
-
store: ftAppInfoStore.name
|
|
204
|
-
})
|
|
205
|
-
], FtReaderContext.prototype, "apiIntegrationIdentifier", void 0);
|
|
206
186
|
__decorate([
|
|
207
187
|
property()
|
|
208
188
|
], FtReaderContext.prototype, "mapId", void 0);
|
|
@@ -230,4 +210,4 @@ __decorate([
|
|
|
230
210
|
__decorate([
|
|
231
211
|
redux({ store: "reader" })
|
|
232
212
|
], FtReaderContext.prototype, "scrollTarget", void 0);
|
|
233
|
-
|
|
213
|
+
export { FtReaderContext };
|
|
@@ -1,12 +1,12 @@
|
|
|
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),
|
|
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
|
|
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
|
+
`,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{
|
|
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
|
|
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`
|
|
6
6
|
${this.importStyleIfNeeded()}
|
|
7
7
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
8
|
-
`}importStyleIfNeeded(){var t,i;
|
|
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
|
-
@import "${
|
|
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.awaitService().then((t=>{const i=t.fontsStylesheet();if(
|
|
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);
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @see https://github.com/webcomponents/polyfills/tree/master/packages/scoped-custom-element-registry
|
|
16
16
|
*/
|
|
17
|
-
if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,e=window.customElements.define,i=window.customElements.get,n=window.customElements,r=new WeakMap,o=new WeakMap,s=new WeakMap,
|
|
17
|
+
if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,e=window.customElements.define,i=window.customElements.get,n=window.customElements,r=new WeakMap,o=new WeakMap,s=new WeakMap,u=new WeakMap;let a;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,r){if(t=t.toLowerCase(),void 0!==this._getDefinition(t))throw new DOMException(`Failed to execute 'define' on 'CustomElementRegistry': the name "${t}" has already been used with this registry`);if(void 0!==this._definitionsByClass.get(r))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const u=r.prototype.attributeChangedCallback,a=new Set(r.observedAttributes||[]);f(r,a,u);const c={elementClass:r,connectedCallback:r.prototype.connectedCallback,disconnectedCallback:r.prototype.disconnectedCallback,adoptedCallback:r.prototype.adoptedCallback,attributeChangedCallback:u,formAssociated:r.formAssociated,formAssociatedCallback:r.prototype.formAssociatedCallback,formDisabledCallback:r.prototype.formDisabledCallback,formResetCallback:r.prototype.formResetCallback,formStateRestoreCallback:r.prototype.formStateRestoreCallback,observedAttributes:a};this._definitionsByTag.set(t,c),this._definitionsByClass.set(r,c);let l=i.call(n,t);l||(l=h(t),e.call(n,t,l)),this===window.customElements&&(s.set(r,c),c.standInClass=l);const d=this._awaitingUpgrade.get(t);if(d){this._awaitingUpgrade.delete(t);for(const t of d)o.delete(t),v(t,c,!0)}const p=this._whenDefinedPromises.get(t);return void 0!==p&&(p.resolve(r),this._whenDefinedPromises.delete(t)),r}upgrade(){b.push(this),n.upgrade.apply(n,arguments),b.pop()}get(t){const e=this._definitionsByTag.get(t);return e?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const e=this._getDefinition(t);if(void 0!==e)return Promise.resolve(e.elementClass);let i=this._whenDefinedPromises.get(t);return void 0===i&&(i={},i.promise=new Promise((t=>i.resolve=t)),this._whenDefinedPromises.set(t,i)),i.promise}_upgradeWhenDefined(t,e,i){let n=this._awaitingUpgrade.get(e);n||this._awaitingUpgrade.set(e,n=new Set),i?n.add(t):n.delete(t)}},window.HTMLElement=function(){let e=a;if(e)return a=void 0,e;const i=s.get(this.constructor);if(!i)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return e=Reflect.construct(t,[],i.standInClass),Object.setPrototypeOf(e,this.constructor.prototype),r.set(e,i),e},window.HTMLElement.prototype=t.prototype;const c=t=>t===document||t instanceof ShadowRoot,l=t=>{let e=t.getRootNode();if(!c(e)){const t=b[b.length-1];if(t instanceof CustomElementRegistry)return t;e=t.getRootNode(),c(e)||(e=u.get(e)?.getRootNode()||document)}return e.customElements},h=e=>class{static get formAssociated(){return!0}constructor(){const i=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(i,HTMLElement.prototype);const n=l(i)||window.customElements,r=n._getDefinition(e);return r?v(i,r):o.set(i,n),i}connectedCallback(){const t=r.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):o.get(this)._upgradeWhenDefined(this,e,!0)}disconnectedCallback(){const t=r.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):o.get(this)._upgradeWhenDefined(this,e,!1)}adoptedCallback(){const t=r.get(this);t?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=r.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=r.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=r.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=r.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},f=(t,e,i)=>{if(0===e.size||void 0===i)return;const n=t.prototype.setAttribute;n&&(t.prototype.setAttribute=function(t,r){const o=t.toLowerCase();if(e.has(o)){const t=this.getAttribute(o);n.call(this,o,r),i.call(this,o,t,r)}else n.call(this,o,r)});const r=t.prototype.removeAttribute;r&&(t.prototype.removeAttribute=function(t){const n=t.toLowerCase();if(e.has(n)){const t=this.getAttribute(n);r.call(this,n),i.call(this,n,t,null)}else r.call(this,n)})},d=e=>{const i=Object.getPrototypeOf(e);if(i!==window.HTMLElement)return i===t||"HTMLElement"===i?.prototype?.constructor?.name?Object.setPrototypeOf(e,window.HTMLElement):d(i)},v=(t,e,i=!1)=>{Object.setPrototypeOf(t,e.elementClass.prototype),r.set(t,e),a=t;try{new e.elementClass}catch(t){d(e.elementClass),new e.elementClass}e.observedAttributes.forEach((i=>{t.hasAttribute(i)&&e.attributeChangedCallback.call(t,i,null,t.getAttribute(i))})),i&&e.connectedCallback&&t.isConnected&&e.connectedCallback.call(t)},p=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const e=p.apply(this,arguments);return t.customElements&&(e.customElements=t.customElements),e};let b=[document];const y=(t,e,i=void 0)=>{const n=(i?Object.getPrototypeOf(i):t.prototype)[e];t.prototype[e]=function(){b.push(this);const t=n.apply(i||this,arguments);return void 0!==t&&u.set(t,this),b.pop(),t}};y(ShadowRoot,"createElement",document),y(ShadowRoot,"importNode",document),y(Element,"insertAdjacentHTML");const w=(t,e)=>{const i=Object.getOwnPropertyDescriptor(t.prototype,e);Object.defineProperty(t.prototype,e,{...i,set(t){b.push(this),i.set.call(this,t),b.pop()}})};if(w(Element,"innerHTML"),w(ShadowRoot,"innerHTML"),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){const t=new WeakMap,e=HTMLElement.prototype.attachInternals,i=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...i){const n=e.call(this,...i);return t.set(n,this),n},i.forEach((e=>{const i=window.ElementInternals.prototype,n=i[e];i[e]=function(...e){const i=t.get(this);if(!0!==r.get(i).formAssociated)throw new DOMException(`Failed to execute ${n} on 'ElementInternals': The target element is not a form-associated custom element.`);n?.call(this,...e)}}));class n extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class o{constructor(t){const e=new Map;t.forEach(((t,i)=>{const n=t.getAttribute("name"),r=e.get(n)||[];this[+i]=t,r.push(t),e.set(n,r)})),this.length=t.length,e.forEach(((t,e)=>{t&&(1===t.length?this[e]=t[0]:this[e]=new n(t))}))}namedItem(t){return this[t]}}const s=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){const t=s.get.call(this,[]),e=[];for(const i of t){const t=r.get(i);t&&!0!==t.formAssociated||e.push(i)}return new o(e)}})}}try{window.customElements.define("custom-element",null)}catch(T){const t=window.customElements.define;window.customElements.define=(e,i,n)=>{try{t.bind(window.customElements)(e,i,n)}catch(t){console.info(e,i,n,t)}}}class e extends Promise{constructor(t){super(((e,i)=>t((t=>{this.isCanceled?i(new Error("Promise has been canceled")):e(t)}),(t=>{this.isCanceled?i(new Error("Promise has been canceled")):i(t)})))),this.isCanceled=!1}cancel(){this.isCanceled=!0}}class i{constructor(){this.loaders={},this.content={},this.finalContent=new Set}register(t,e){this.loaders[t]=e,this.finalContent.delete(t)}registerFinal(t,e){this.loaders[t]=e,this.finalContent.add(t)}clearAll(){for(let t in this.content)this.clear(t)}clear(t){this.finalContent.has(t)||this.forceClear(t)}forceClear(t){this.content[t]instanceof e&&this.content[t].cancel(),delete this.content[t]}set(t,e){this.forceClear(t),this.register(t,(async()=>e)),this.content[t]=e}setFinal(t,e){this.forceClear(t),this.registerFinal(t,(async()=>e)),this.content[t]=e}async get(t,i){if(void 0===this.content[t]){if(null==(i=null!=i?i:this.loaders[t]))throw new Error("Unknown cache key "+t);const n=(t=>new e(((e,i)=>t.then(e).catch(i))))(i());return this.content[t]=n,n.then((e=>(this.content[t]=e,e)))}if(this.content[t]instanceof Error)throw this.content[t];return this.content[t]}isResolvedValue(t){return!(null==t||t instanceof Promise||t instanceof Error)}getNow(t){if(this.isResolvedValue(this.content[t]))return this.content[t]}has(t){return null!=this.content[t]}resolvedKeys(){return Object.keys(this.content).filter((t=>this.isResolvedValue(this.content[t])))}resolvedValues(){return Object.values(this.content).filter((t=>this.isResolvedValue(t)))}keys(){return Object.keys(this.content)}values(){return Object.values(this.content)}}class n{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,e){return this.callbacks=[t],this.debounce(e)}queue(t,e){return this.callbacks.push(t),this.debounce(e)}cancel(){this.clearTimeout(),this.resolvePromise&&this.resolvePromise(!1),this.clearPromise()}debounce(t){return null==this.promise&&(this.promise=new Promise(((t,e)=>{this.resolvePromise=t,this.rejectPromise=e}))),this.clearTimeout(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout),this.promise}async runCallbacks(){var t,e;const i=[...this.callbacks];this.callbacks=[];const n=null!==(t=this.rejectPromise)&&void 0!==t?t:()=>null,r=null!==(e=this.resolvePromise)&&void 0!==e?e:()=>null;this.clearPromise();for(let t of i)try{await t()}catch(t){return void n(t)}r(!0)}clearTimeout(){null!=this._debounce&&window.clearTimeout(this._debounce)}clearPromise(){this.promise=void 0,this.resolvePromise=void 0,this.rejectPromise=void 0}}
|
|
18
18
|
/**
|
|
19
19
|
* @license
|
|
20
20
|
* Copyright 2017 Google LLC
|
|
@@ -24,40 +24,29 @@ if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,e=window.cust
|
|
|
24
24
|
* @license
|
|
25
25
|
* Copyright 2021 Google LLC
|
|
26
26
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
-
*/}var s;function
|
|
27
|
+
*/}var s;function u(t,e){try{return function(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var i,n,r;if(Array.isArray(t)){if((i=t.length)!=e.length)return!1;for(n=i;0!=n--;)if(!u(t[n],e[n]))return!1;return!0}if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(n of t.entries())if(!e.has(n[0]))return!1;for(n of t.entries())if(!u(n[1],e.get(n[0])))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(n of t.entries())if(!e.has(n[0]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if((i=(r=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(n=i;0!=n--;)if(!Object.prototype.hasOwnProperty.call(e,r[n]))return!1;for(n=i;0!=n--;){var o=r[n];if(!u(t[o],e[o]))return!1}return!0}return t!=t&&e!=e}(t,e)}catch(t){return!1}}null===(s=window.HTMLSlotElement)||void 0===s||s.prototype.assignedElements;const a=t=>e=>{window.customElements.get(t)||window.customElements.define(t,e)};function c(t,e){const i=()=>JSON.parse(JSON.stringify(t));return o({type:Object,converter:{fromAttribute:t=>{if(null==t)return i();try{return JSON.parse(t)}catch{return i()}},toAttribute:t=>JSON.stringify(t)},hasChanged:(t,e)=>!u(t,e),...null!=e?e:{}})}const l=t=>new Promise((e=>setTimeout(e,t)))
|
|
28
28
|
/**
|
|
29
29
|
* @license
|
|
30
30
|
* Copyright 2019 Google LLC
|
|
31
31
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
32
|
-
*/,h=window,
|
|
32
|
+
*/,h=window,f=h.ShadowRoot&&(void 0===h.ShadyCSS||h.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,d=Symbol(),v=new WeakMap;let p=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==d)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(f&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=v.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&v.set(e,t))}return t}toString(){return this.cssText}};const b=t=>new p("string"==typeof t?t:t+"",void 0,d),y=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new p(i,t,d)},w=(t,e)=>{f?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),n=h.litNonce;void 0!==n&&i.setAttribute("nonce",n),i.textContent=e.cssText,t.appendChild(i)}))},m=f?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return b(e)})(t):t
|
|
33
33
|
/**
|
|
34
34
|
* @license
|
|
35
35
|
* Copyright 2017 Google LLC
|
|
36
36
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
37
|
-
*/;var g;const x=window,O=x.trustedTypes,
|
|
37
|
+
*/;var g;const x=window,O=x.trustedTypes,S=O?O.emptyScript:"",E=x.reactiveElementPolyfillSupport,j={toAttribute(t,e){switch(e){case Boolean:t=t?S:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},C=(t,e)=>e!==t&&(e==e||t==t),N={attribute:!0,type:String,converter:j,reflect:!1,hasChanged:C};let R=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Ep(i,e);void 0!==n&&(this._$Ev.set(n,i),t.push(n))})),t}static createProperty(t,e=N){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||N}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(m(t))}else void 0!==t&&e.push(m(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return w(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=N){var n;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const o=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:j).toAttribute(e,i.type);this._$El=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$El=null}}_$AK(t,e){var i;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:j;this._$El=r,this[r]=o.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||C)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};
|
|
38
38
|
/**
|
|
39
39
|
* @license
|
|
40
40
|
* Copyright 2017 Google LLC
|
|
41
41
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
42
42
|
*/
|
|
43
|
-
var M;R.finalized=!0,R.elementProperties=new Map,R.elementStyles=[],R.shadowRootOptions={mode:"open"},null==
|
|
43
|
+
var M;R.finalized=!0,R.elementProperties=new Map,R.elementStyles=[],R.shadowRootOptions={mode:"open"},null==E||E({ReactiveElement:R}),(null!==(g=x.reactiveElementVersions)&&void 0!==g?g:x.reactiveElementVersions=[]).push("1.6.1");const A=window,U=A.trustedTypes,T=U?U.createPolicy("lit-html",{createHTML:t=>t}):void 0,k="$lit$",I=`lit$${(Math.random()+"").slice(9)}$`,P="?"+I,$=`<${P}>`,L=document,F=()=>L.createComment(""),_=t=>null===t||"object"!=typeof t&&"function"!=typeof t,B=Array.isArray,W="[ \t\n\f\r]",D=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,K=/-->/g,q=/>/g,V=RegExp(`>|${W}(?:([^\\s"'>=/]+)(${W}*=${W}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,z=/"/g,J=/^(?:script|style|textarea|title)$/i,Z=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),G=Symbol.for("lit-noChange"),X=Symbol.for("lit-nothing"),Q=new WeakMap,Y=L.createTreeWalker(L,129,null,!1),tt=(t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"<svg>":"",s=D;for(let e=0;e<i;e++){const i=t[e];let u,a,c=-1,l=0;for(;l<i.length&&(s.lastIndex=l,a=s.exec(i),null!==a);)l=s.lastIndex,s===D?"!--"===a[1]?s=K:void 0!==a[1]?s=q:void 0!==a[2]?(J.test(a[2])&&(r=RegExp("</"+a[2],"g")),s=V):void 0!==a[3]&&(s=V):s===V?">"===a[0]?(s=null!=r?r:D,c=-1):void 0===a[1]?c=-2:(c=s.lastIndex-a[2].length,u=a[1],s=void 0===a[3]?V:'"'===a[3]?z:H):s===z||s===H?s=V:s===K||s===q?s=D:(s=V,r=void 0);const h=s===V&&t[e+1].startsWith("/>")?" ":"";o+=s===D?i+$:c>=0?(n.push(u),i.slice(0,c)+k+i.slice(c)+I+h):i+I+(-2===c?(n.push(void 0),e):h)}const u=o+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==T?T.createHTML(u):u,n]};class et{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,o=0;const s=t.length-1,u=this.parts,[a,c]=tt(t,e);if(this.el=et.createElement(a,i),Y.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=Y.nextNode())&&u.length<s;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith(k)||e.startsWith(I)){const i=c[o++];if(t.push(e),void 0!==i){const t=n.getAttribute(i.toLowerCase()+k).split(I),e=/([.?@])?(.*)/.exec(i);u.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?ot:"?"===e[1]?ut:"@"===e[1]?at:rt})}else u.push({type:6,index:r})}for(const e of t)n.removeAttribute(e)}if(J.test(n.tagName)){const t=n.textContent.split(I),e=t.length-1;if(e>0){n.textContent=U?U.emptyScript:"";for(let i=0;i<e;i++)n.append(t[i],F()),Y.nextNode(),u.push({type:2,index:++r});n.append(t[e],F())}}}else if(8===n.nodeType)if(n.data===P)u.push({type:2,index:r});else{let t=-1;for(;-1!==(t=n.data.indexOf(I,t+1));)u.push({type:7,index:r}),t+=I.length-1}r++}}static createElement(t,e){const i=L.createElement("template");return i.innerHTML=t,i}}function it(t,e,i=t,n){var r,o,s,u;if(e===G)return e;let a=void 0!==n?null===(r=i._$Co)||void 0===r?void 0:r[n]:i._$Cl;const c=_(e)?void 0:e._$litDirective$;return(null==a?void 0:a.constructor)!==c&&(null===(o=null==a?void 0:a._$AO)||void 0===o||o.call(a,!1),void 0===c?a=void 0:(a=new c(t),a._$AT(t,i,n)),void 0!==n?(null!==(s=(u=i)._$Co)&&void 0!==s?s:u._$Co=[])[n]=a:i._$Cl=a),void 0!==a&&(e=it(t,a._$AS(t,e.values),a,n)),e}let nt=class t{constructor(t,e,i,n){var r;this.type=2,this._$AH=X,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=n,this._$Cp=null===(r=null==n?void 0:n.isConnected)||void 0===r||r}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===(null==t?void 0:t.nodeType)&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=it(this,t,e),_(t)?t===X||null==t||""===t?(this._$AH!==X&&this._$AR(),this._$AH=X):t!==this._$AH&&t!==G&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>B(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==X&&_(this._$AH)?this._$AA.nextSibling.data=t:this.$(L.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:n}=t,r="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=et.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.v(i);else{const t=new class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:i},parts:n}=this._$AD,r=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:L).importNode(i,!0);Y.currentNode=r;let o=Y.nextNode(),s=0,u=0,a=n[0];for(;void 0!==a;){if(s===a.index){let e;2===a.type?e=new nt(o,o.nextSibling,this,t):1===a.type?e=new a.ctor(o,a.name,a.strings,this,t):6===a.type&&(e=new ct(o,this,t)),this._$AV.push(e),a=n[++u]}s!==(null==a?void 0:a.index)&&(o=Y.nextNode(),s++)}return r}v(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}(r,this),e=t.u(this.options);t.v(i),this.$(e),this._$AH=t}}_$AC(t){let e=Q.get(t.strings);return void 0===e&&Q.set(t.strings,e=new et(t)),e}T(e){B(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let n,r=0;for(const o of e)r===i.length?i.push(n=new t(this.k(F()),this.k(F()),this,this.options)):n=i[r],n._$AI(o),r++;r<i.length&&(this._$AR(n&&n._$AB.nextSibling,r),i.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cp=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}},rt=class{constructor(t,e,i,n,r){this.type=1,this._$AH=X,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=X}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(void 0===r)t=it(this,t,e,0),o=!_(t)||t!==this._$AH&&t!==G,o&&(this._$AH=t);else{const n=t;let s,u;for(t=r[0],s=0;s<r.length-1;s++)u=it(this,n[i+s],e,s),u===G&&(u=this._$AH[s]),o||(o=!_(u)||u!==this._$AH[s]),u===X?t=X:t!==X&&(t+=(null!=u?u:"")+r[s+1]),this._$AH[s]=u}o&&!n&&this.j(t)}j(t){t===X?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}},ot=class extends rt{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===X?void 0:t}};const st=U?U.emptyScript:"";let ut=class extends rt{constructor(){super(...arguments),this.type=4}j(t){t&&t!==X?this.element.setAttribute(this.name,st):this.element.removeAttribute(this.name)}},at=class extends rt{constructor(t,e,i,n,r){super(t,e,i,n,r),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=it(this,t,e,0))&&void 0!==i?i:X)===G)return;const n=this._$AH,r=t===X&&n!==X||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==X&&(n===X||r);r&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}},ct=class{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){it(this,t)}};const lt=A.litHtmlPolyfillSupport;null==lt||lt(et,nt),(null!==(M=A.litHtmlVersions)&&void 0!==M?M:A.litHtmlVersions=[]).push("2.7.3");
|
|
44
44
|
/**
|
|
45
45
|
* @license
|
|
46
46
|
* Copyright 2017 Google LLC
|
|
47
47
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
48
48
|
*/
|
|
49
|
-
var
|
|
50
|
-
/**
|
|
51
|
-
* @license
|
|
52
|
-
* Copyright 2021 Google LLC
|
|
53
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
54
|
-
*/
|
|
55
|
-
function(t){return class extends t{createRenderRoot(){const t=this.constructor,{registry:e,elementDefinitions:i,shadowRootOptions:n}=t;i&&!e&&(t.registry=new CustomElementRegistry,Object.entries(i).forEach((([e,i])=>t.registry.define(e,i))));const r=this.renderOptions.creationScope=this.attachShadow({...n,customElements:t.registry});return y(r,this.constructor.elementStyles),r}}}(ht)){constructor(){super(),this.exportpartsDebouncer=new n(5),this.constructorName=this.constructor.name,this.constructorPrototype=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this.constructorName&&Object.setPrototypeOf(this,this.constructorPrototype)}getStyles(){return[]}getTemplate(){return null}render(){let t=this.getStyles();return Array.isArray(t)||(t=[t]),J`
|
|
56
|
-
${t.map((t=>J`
|
|
57
|
-
<style>${t}</style>
|
|
58
|
-
`))}
|
|
59
|
-
${this.getTemplate()}
|
|
60
|
-
`}updated(t){super.updated(t),setTimeout((()=>{this.contentAvailableCallback(t),this.scheduleExportpartsUpdate()}),0)}contentAvailableCallback(t){var e,i;if((null!==(i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".ft-lit-element--custom-stylesheet"))&&void 0!==i?i:[]).forEach((t=>t.remove())),this.customStylesheet){const t=document.createElement("style");t.classList.add("ft-lit-element--custom-stylesheet"),t.innerHTML=this.customStylesheet,this.shadowRoot.append(t)}}scheduleExportpartsUpdate(){this.exportpartsDebouncer.run((()=>{var t;(null===(t=this.exportpartsPrefix)||void 0===t?void 0:t.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}))}setExportpartsAttribute(t){var e,i,n,r,o,s;const a=t=>null!=t&&t.trim().length>0,u=t.filter(a).map((t=>t.trim()));if(0===u.length)return void this.removeAttribute("exportparts");const c=new Set;for(let t of null!==(i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll("[part],[exportparts]"))&&void 0!==i?i:[]){const e=null!==(r=null===(n=t.getAttribute("part"))||void 0===n?void 0:n.split(" "))&&void 0!==r?r:[],i=null!==(s=null===(o=t.getAttribute("exportparts"))||void 0===o?void 0:o.split(",").map((t=>t.split(":")[1])))&&void 0!==s?s:[];new Array(...e,...i).filter(a).map((t=>t.trim())).forEach((t=>c.add(t)))}if(0===c.size)return void this.removeAttribute("exportparts");const l=[...c.values()].flatMap((t=>u.map((e=>`${t}:${e}--${t}`))));this.setAttribute("exportparts",[...this.part,...l].join(", "))}}vt([o()],pt.prototype,"exportpartsPrefix",void 0),vt([c([])],pt.prototype,"exportpartsPrefixes",void 0),vt([o()],pt.prototype,"customStylesheet",void 0),w`
|
|
49
|
+
var ht,ft;let dt=class extends R{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,i)=>{var n,r;const o=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let s=o._$litPart$;if(void 0===s){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;o._$litPart$=s=new nt(e.insertBefore(F(),t),t,void 0,null!=i?i:{})}return s._$AI(t),s})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return G}};dt.finalized=!0,dt._$litElement$=!0,null===(ht=globalThis.litElementHydrateSupport)||void 0===ht||ht.call(globalThis,{LitElement:dt});const vt=globalThis.litElementPolyfillSupport;null==vt||vt({LitElement:dt}),(null!==(ft=globalThis.litElementVersions)&&void 0!==ft?ft:globalThis.litElementVersions=[]).push("3.3.2");class pt{static create(t,e,i){let n=t=>b(null!=t?t:i),r=y`var(${b(t)}, ${n(i)})`;return r.name=t,r.category=e,r.defaultValue=i,r.defaultCssValue=n,r.get=e=>y`var(${b(t)}, ${n(e)})`,r.breadcrumb=()=>[],r.lastResortDefaultValue=()=>i,r}static extend(t,e,i){let n=t=>e.get(null!=t?t:i),r=y`var(${b(t)}, ${n(i)})`;return r.name=t,r.category=e.category,r.fallbackVariable=e,r.defaultValue=i,r.defaultCssValue=n,r.get=e=>y`var(${b(t)}, ${n(e)})`,r.breadcrumb=()=>[e.name,...e.breadcrumb()],r.lastResortDefaultValue=()=>i,r}static external(t,e){let i=e=>t.fallbackVariable?t.fallbackVariable.get(null!=e?e:t.defaultValue):b(null!=e?e:t.defaultValue),n=y`var(${b(t.name)}, ${i(t.defaultValue)})`;return n.name=t.name,n.category=t.category,n.fallbackVariable=t.fallbackVariable,n.defaultValue=t.defaultValue,n.context=e,n.defaultCssValue=i,n.get=e=>y`var(${b(t.name)}, ${i(e)})`,n.breadcrumb=()=>t.fallbackVariable?[t.fallbackVariable.name,...t.fallbackVariable.breadcrumb()]:[],n.lastResortDefaultValue=()=>{var e,i;return null!==(e=t.defaultValue)&&void 0!==e?e:null===(i=t.fallbackVariable)||void 0===i?void 0:i.lastResortDefaultValue()},n}}pt.create("--ft-color-primary","COLOR","#2196F3"),pt.create("--ft-color-primary-variant","COLOR","#1976D2"),pt.create("--ft-color-secondary","COLOR","#FFCC80"),pt.create("--ft-color-secondary-variant","COLOR","#F57C00"),pt.create("--ft-color-surface","COLOR","#FFFFFF"),pt.create("--ft-color-content","COLOR","rgba(0, 0, 0, 0.87)"),pt.create("--ft-color-error","COLOR","#B00020"),pt.create("--ft-color-outline","COLOR","rgba(0, 0, 0, 0.14)"),pt.create("--ft-color-opacity-high","NUMBER","1"),pt.create("--ft-color-opacity-medium","NUMBER","0.74"),pt.create("--ft-color-opacity-disabled","NUMBER","0.38"),pt.create("--ft-color-on-primary","COLOR","#FFFFFF"),pt.create("--ft-color-on-primary-high","COLOR","#FFFFFF"),pt.create("--ft-color-on-primary-medium","COLOR","rgba(255, 255, 255, 0.74)"),pt.create("--ft-color-on-primary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),pt.create("--ft-color-on-secondary","COLOR","#FFFFFF"),pt.create("--ft-color-on-secondary-high","COLOR","#FFFFFF"),pt.create("--ft-color-on-secondary-medium","COLOR","rgba(255, 255, 255, 0.74)"),pt.create("--ft-color-on-secondary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),pt.create("--ft-color-on-surface","COLOR","rgba(0, 0, 0, 0.87)"),pt.create("--ft-color-on-surface-high","COLOR","rgba(0, 0, 0, 0.87)"),pt.create("--ft-color-on-surface-medium","COLOR","rgba(0, 0, 0, 0.60)"),pt.create("--ft-color-on-surface-disabled","COLOR","rgba(0, 0, 0, 0.38)"),pt.create("--ft-opacity-content-on-surface-disabled","NUMBER","0"),pt.create("--ft-opacity-content-on-surface-enable","NUMBER","0"),pt.create("--ft-opacity-content-on-surface-hover","NUMBER","0.04"),pt.create("--ft-opacity-content-on-surface-focused","NUMBER","0.12"),pt.create("--ft-opacity-content-on-surface-pressed","NUMBER","0.10"),pt.create("--ft-opacity-content-on-surface-selected","NUMBER","0.08"),pt.create("--ft-opacity-content-on-surface-dragged","NUMBER","0.08"),pt.create("--ft-opacity-primary-on-surface-disabled","NUMBER","0"),pt.create("--ft-opacity-primary-on-surface-enable","NUMBER","0"),pt.create("--ft-opacity-primary-on-surface-hover","NUMBER","0.04"),pt.create("--ft-opacity-primary-on-surface-focused","NUMBER","0.12"),pt.create("--ft-opacity-primary-on-surface-pressed","NUMBER","0.10"),pt.create("--ft-opacity-primary-on-surface-selected","NUMBER","0.08"),pt.create("--ft-opacity-primary-on-surface-dragged","NUMBER","0.08"),pt.create("--ft-opacity-surface-on-primary-disabled","NUMBER","0"),pt.create("--ft-opacity-surface-on-primary-enable","NUMBER","0"),pt.create("--ft-opacity-surface-on-primary-hover","NUMBER","0.04"),pt.create("--ft-opacity-surface-on-primary-focused","NUMBER","0.12"),pt.create("--ft-opacity-surface-on-primary-pressed","NUMBER","0.10"),pt.create("--ft-opacity-surface-on-primary-selected","NUMBER","0.08"),pt.create("--ft-opacity-surface-on-primary-dragged","NUMBER","0.08"),pt.create("--ft-elevation-00","UNKNOWN","0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0)"),pt.create("--ft-elevation-01","UNKNOWN","0px 1px 4px 0px rgba(0, 0, 0, 0.06), 0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-02","UNKNOWN","0px 4px 10px 0px rgba(0, 0, 0, 0.06), 0px 2px 5px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-03","UNKNOWN","0px 6px 13px 0px rgba(0, 0, 0, 0.06), 0px 3px 7px 0px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-04","UNKNOWN","0px 8px 16px 0px rgba(0, 0, 0, 0.06), 0px 4px 9px 0px rgba(0, 0, 0, 0.14), 0px 2px 3px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-06","UNKNOWN","0px 12px 22px 0px rgba(0, 0, 0, 0.06), 0px 6px 13px 0px rgba(0, 0, 0, 0.14), 0px 4px 5px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-08","UNKNOWN","0px 16px 28px 0px rgba(0, 0, 0, 0.06), 0px 8px 17px 0px rgba(0, 0, 0, 0.14), 0px 6px 7px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-12","UNKNOWN","0px 22px 40px 0px rgba(0, 0, 0, 0.06), 0px 12px 23px 0px rgba(0, 0, 0, 0.14), 0px 10px 11px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-16","UNKNOWN","0px 28px 52px 0px rgba(0, 0, 0, 0.06), 0px 16px 29px 0px rgba(0, 0, 0, 0.14), 0px 14px 15px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-elevation-24","UNKNOWN","0px 40px 76px 0px rgba(0, 0, 0, 0.06), 0px 24px 41px 0px rgba(0, 0, 0, 0.14), 0px 22px 23px 0px rgba(0, 0, 0, 0.06)"),pt.create("--ft-border-radius-S","SIZE","4px"),pt.create("--ft-border-radius-M","SIZE","8px"),pt.create("--ft-border-radius-L","SIZE","12px"),pt.create("--ft-border-radius-XL","SIZE","16px"),pt.create("--ft-title-font","UNKNOWN","Ubuntu, system-ui, sans-serif"),pt.create("--ft-content-font","UNKNOWN","'Open Sans', system-ui, sans-serif"),pt.create("--ft-transition-duration","UNKNOWN","250ms"),pt.create("--ft-transition-timing-function","UNKNOWN","ease-in-out");class bt extends dt{createRenderRoot(){const t=this.constructor;t.elementDefinitions&&!t.registry&&(t.registry=new CustomElementRegistry,Object.entries(t.elementDefinitions).forEach((([e,i])=>t.registry.define(e,i))));const e={...t.shadowRootOptions,customElements:t.registry},i=this.renderOptions.creationScope=this.attachShadow(e);return w(i,t.elementStyles),i}}var yt,wt=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};const mt=Symbol("constructorPrototype"),gt=Symbol("constructorName"),xt=Symbol("exportpartsDebouncer");class Ot extends bt{constructor(){super(),this[yt]=new n(5),this[gt]=this.constructor.name,this[mt]=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this[gt]&&Object.setPrototypeOf(this,this[mt])}updated(t){super.updated(t),setTimeout((()=>{this.contentAvailableCallback(t),this.scheduleExportpartsUpdate()}),0)}contentAvailableCallback(t){var e,i;if((null!==(i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".ft-lit-element--custom-stylesheet"))&&void 0!==i?i:[]).forEach((t=>t.remove())),this.customStylesheet){const t=document.createElement("style");t.classList.add("ft-lit-element--custom-stylesheet"),t.innerHTML=this.customStylesheet,this.shadowRoot.append(t)}}scheduleExportpartsUpdate(){this[xt].run((()=>{var t;(null===(t=this.exportpartsPrefix)||void 0===t?void 0:t.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}))}setExportpartsAttribute(t){var e,i,n,r,o,s;const u=t=>null!=t&&t.trim().length>0,a=t.filter(u).map((t=>t.trim()));if(0===a.length)return void this.removeAttribute("exportparts");const c=new Set;for(let t of null!==(i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll("[part],[exportparts]"))&&void 0!==i?i:[]){const e=null!==(r=null===(n=t.getAttribute("part"))||void 0===n?void 0:n.split(" "))&&void 0!==r?r:[],i=null!==(s=null===(o=t.getAttribute("exportparts"))||void 0===o?void 0:o.split(",").map((t=>t.split(":")[1])))&&void 0!==s?s:[];new Array(...e,...i).filter(u).map((t=>t.trim())).forEach((t=>c.add(t)))}if(0===c.size)return void this.removeAttribute("exportparts");const l=[...c.values()].flatMap((t=>a.map((e=>`${t}:${e}--${t}`))));this.setAttribute("exportparts",[...this.part,...l].join(", "))}}yt=xt,wt([o()],Ot.prototype,"exportpartsPrefix",void 0),wt([c([])],Ot.prototype,"exportpartsPrefixes",void 0),wt([o()],Ot.prototype,"customStylesheet",void 0),y`
|
|
61
50
|
.ft-no-text-select {
|
|
62
51
|
-webkit-touch-callout: none;
|
|
63
52
|
-webkit-user-select: none;
|
|
@@ -66,7 +55,7 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
|
|
|
66
55
|
-ms-user-select: none;
|
|
67
56
|
user-select: none;
|
|
68
57
|
}
|
|
69
|
-
`,
|
|
58
|
+
`,y`
|
|
70
59
|
.ft-word-wrap {
|
|
71
60
|
white-space: normal;
|
|
72
61
|
word-wrap: break-word;
|
|
@@ -78,7 +67,7 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
|
|
|
78
67
|
-webkit-hyphens: auto;
|
|
79
68
|
hyphens: auto
|
|
80
69
|
}
|
|
81
|
-
`,
|
|
70
|
+
`,y`
|
|
82
71
|
.ft-safari-ellipsis-fix {
|
|
83
72
|
margin-right: 0;
|
|
84
73
|
|
|
@@ -89,15 +78,15 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
|
|
|
89
78
|
display: inline-block;
|
|
90
79
|
width: 0;
|
|
91
80
|
}
|
|
92
|
-
`;class bt{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=`${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 wt(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 yt(t){return!!t&&!!t[re]}function mt(t){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)===oe}(t)||Array.isArray(t)||!!t[ne]||!!t.constructor[ne]||jt(t)||Ct(t))}function gt(t,e,i){void 0===i&&(i=!1),0===xt(t)?(i?Object.keys:se)(t).forEach((function(n){i&&"symbol"==typeof n||e(n,t[n],t)})):t.forEach((function(i,n){return e(n,i,t)}))}function xt(t){var e=t[re];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:jt(t)?2:Ct(t)?3:0}function Ot(t,e){return 2===xt(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Et(t,e,i){var n=xt(t);2===n?t.set(e,i):3===n?(t.delete(e),t.add(i)):t[e]=i}function St(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function jt(t){return Yt&&t instanceof Map}function Ct(t){return te&&t instanceof Set}function Nt(t){return t.o||t.t}function Rt(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=ae(t);delete e[re];for(var i=se(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 Mt(t,e){return void 0===e&&(e=!1),Tt(t)||yt(t)||!mt(t)||(xt(t)>1&&(t.set=t.add=t.clear=t.delete=Ut),Object.freeze(t),e&>(t,(function(t,e){return Mt(e,!0)}),!0)),t}function Ut(){wt(2)}function Tt(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function At(t){var e=ue[t];return e||wt(18,t),e}function It(){return Xt}function $t(t,e){e&&(At("Patches"),t.u=[],t.s=[],t.v=e)}function kt(t){Pt(t),t.p.forEach(Ft),t.p=null}function Pt(t){t===Xt&&(Xt=t.l)}function Lt(t){return Xt={p:[],l:Xt,h:t,m:!0,_:0}}function Ft(t){var e=t[re];0===e.i||1===e.i?e.j():e.O=!0}function _t(t,e){e._=e.p.length;var i=e.p[0],n=void 0!==t&&t!==i;return e.h.g||At("ES5").S(e,t,n),n?(i[re].P&&(kt(e),wt(4)),mt(t)&&(t=Bt(e,t),e.l||Wt(e,t)),e.u&&At("Patches").M(i[re].t,t,e.u,e.s)):t=Bt(e,i,[]),kt(e),e.u&&e.v(e.u,e.s),t!==ie?t:void 0}function Bt(t,e,i){if(Tt(e))return e;var n=e[re];if(!n)return gt(e,(function(r,o){return Dt(t,n,e,r,o,i)}),!0),e;if(n.A!==t)return e;if(!n.P)return Wt(t,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var r=4===n.i||5===n.i?n.o=Rt(n.k):n.o;gt(3===n.i?new Set(r):r,(function(e,o){return Dt(t,n,r,e,o,i)})),Wt(t,r,!1),i&&t.u&&At("Patches").R(n,i,t.u,t.s)}return n.o}function Dt(t,e,i,n,r,o){if(yt(r)){var s=Bt(t,r,o&&e&&3!==e.i&&!Ot(e.D,n)?o.concat(n):void 0);if(Et(i,n,s),!yt(s))return;t.m=!1}if(mt(r)&&!Tt(r)){if(!t.h.F&&t._<1)return;Bt(t,r),e&&e.A.l||Wt(t,r)}}function Wt(t,e,i){void 0===i&&(i=!1),t.h.F&&t.m&&Mt(e,i)}function Kt(t,e){var i=t[re];return(i?Nt(i):t)[e]}function Ht(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 zt(t){t.P||(t.P=!0,t.l&&zt(t.l))}function Vt(t){t.o||(t.o=Rt(t.t))}function Jt(t,e,i){var n=jt(e)?At("MapSet").N(e,i):Ct(e)?At("MapSet").T(e,i):t.g?function(t,e){var i=Array.isArray(t),n={i:i?1:0,A:e?e.A:It(),P:!1,I:!1,D:{},l:e,t,k:null,o:null,j:null,C:!1},r=n,o=ce;i&&(r=[n],o=le);var s=Proxy.revocable(r,o),a=s.revoke,u=s.proxy;return n.k=u,n.j=a,u}(e,i):At("ES5").J(e,i);return(i?i.A:It()).p.push(n),n}function Zt(t){return yt(t)||wt(22,t),function t(e){if(!mt(e))return e;var i,n=e[re],r=xt(e);if(n){if(!n.P&&(n.i<4||!At("ES5").K(n)))return n.t;n.I=!0,i=qt(e,r),n.I=!1}else i=qt(e,r);return gt(i,(function(e,r){n&&function(t,e){return 2===xt(t)?t.get(e):t[e]}(n.t,e)===r||Et(i,e,t(r))})),3===r?new Set(i):i}(t)}function qt(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Rt(t)}var Gt,Xt,Qt="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),Yt="undefined"!=typeof Map,te="undefined"!=typeof Set,ee="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,ie=Qt?Symbol.for("immer-nothing"):((Gt={})["immer-nothing"]=!0,Gt),ne=Qt?Symbol.for("immer-draftable"):"__$immer_draftable",re=Qt?Symbol.for("immer-state"):"__$immer_state",oe=""+Object.prototype.constructor,se="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,ae=Object.getOwnPropertyDescriptors||function(t){var e={};return se(t).forEach((function(i){e[i]=Object.getOwnPropertyDescriptor(t,i)})),e},ue={},ce={get:function(t,e){if(e===re)return t;var i=Nt(t);if(!Ot(i,e))return function(t,e,i){var n,r=Ht(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||!mt(n)?n:n===Kt(t.t,e)?(Vt(t),t.o[e]=Jt(t.A.h,n,t)):n},has:function(t,e){return e in Nt(t)},ownKeys:function(t){return Reflect.ownKeys(Nt(t))},set:function(t,e,i){var n=Ht(Nt(t),e);if(null==n?void 0:n.set)return n.set.call(t.k,i),!0;if(!t.P){var r=Kt(Nt(t),e),o=null==r?void 0:r[re];if(o&&o.t===i)return t.o[e]=i,t.D[e]=!1,!0;if(St(i,r)&&(void 0!==i||Ot(t.t,e)))return!0;Vt(t),zt(t)}return t.o[e]===i&&"number"!=typeof i&&(void 0!==i||e in t.o)||(t.o[e]=i,t.D[e]=!0,!0)},deleteProperty:function(t,e){return void 0!==Kt(t.t,e)||e in t.t?(t.D[e]=!1,Vt(t),zt(t)):delete t.D[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var i=Nt(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(){wt(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){wt(12)}},le={};gt(ce,(function(t,e){le[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),le.deleteProperty=function(t,e){return le.set.call(this,t,e,void 0)},le.set=function(t,e,i){return ce.set.call(this,t[0],e,i,t[0])};var he=function(){function t(t){var e=this;this.g=ee,this.F=!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),a=1;a<n;a++)s[a-1]=arguments[a];return o.produce(t,(function(t){var n;return(n=i).call.apply(n,[e,t].concat(s))}))}}var s;if("function"!=typeof i&&wt(6),void 0!==n&&"function"!=typeof n&&wt(7),mt(t)){var a=Lt(e),u=Jt(e,t,void 0),c=!0;try{s=i(u),c=!1}finally{c?kt(a):Pt(a)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return $t(a,n),_t(t,a)}),(function(t){throw kt(a),t})):($t(a,n),_t(s,a))}if(!t||"object"!=typeof t){if(void 0===(s=i(t))&&(s=t),s===ie&&(s=void 0),e.F&&Mt(s,!0),n){var l=[],h=[];At("Patches").M(t,s,l,h),n(l,h)}return s}wt(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){mt(t)||wt(8),yt(t)&&(t=Zt(t));var e=Lt(this),i=Jt(this,t,void 0);return i[re].C=!0,Pt(e),i},e.finishDraft=function(t,e){var i=(t&&t[re]).A;return $t(i,e),_t(void 0,i)},e.setAutoFreeze=function(t){this.F=t},e.setUseProxies=function(t){t&&!ee&&wt(20),this.g=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=At("Patches").$;return yt(t)?r(t,e):this.produce(t,(function(t){return r(t,e)}))},t}(),de=new he,fe=de.produce;de.produceWithPatches.bind(de),de.setAutoFreeze.bind(de),de.setUseProxies.bind(de),de.applyPatches.bind(de),de.createDraft.bind(de),de.finishDraft.bind(de);var ve=fe;function pe(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function be(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 we(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?be(Object(i),!0).forEach((function(e){pe(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):be(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function ye(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var me="function"==typeof Symbol&&Symbol.observable||"@@observable",ge=function(){return Math.random().toString(36).substring(7).split("").join(".")},xe={INIT:"@@redux/INIT"+ge(),REPLACE:"@@redux/REPLACE"+ge(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+ge()}};function Oe(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}function Ee(t,e,i){var n;if("function"==typeof e&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(ye(0));if("function"==typeof e&&void 0===i&&(i=e,e=void 0),void 0!==i){if("function"!=typeof i)throw new Error(ye(1));return i(Ee)(t,e)}if("function"!=typeof t)throw new Error(ye(2));var r=t,o=e,s=[],a=s,u=!1;function c(){a===s&&(a=s.slice())}function l(){if(u)throw new Error(ye(3));return o}function h(t){if("function"!=typeof t)throw new Error(ye(4));if(u)throw new Error(ye(5));var e=!0;return c(),a.push(t),function(){if(e){if(u)throw new Error(ye(6));e=!1,c();var i=a.indexOf(t);a.splice(i,1),s=null}}}function d(t){if(!Oe(t))throw new Error(ye(7));if(void 0===t.type)throw new Error(ye(8));if(u)throw new Error(ye(9));try{u=!0,o=r(o,t)}finally{u=!1}for(var e=s=a,i=0;i<e.length;i++){(0,e[i])()}return t}function f(t){if("function"!=typeof t)throw new Error(ye(10));r=t,d({type:xe.REPLACE})}function v(){var t,e=h;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(ye(11));function i(){t.next&&t.next(l())}return i(),{unsubscribe:e(i)}}})[me]=function(){return this},t}return d({type:xe.INIT}),(n={dispatch:d,subscribe:h,getState:l,replaceReducer:f})[me]=v,n}function Se(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:xe.INIT}))throw new Error(ye(12));if(void 0===i(void 0,{type:xe.PROBE_UNKNOWN_ACTION()}))throw new Error(ye(13))}))}(i)}catch(t){o=t}return function(t,e){if(void 0===t&&(t={}),o)throw o;for(var n=!1,r={},a=0;a<s.length;a++){var u=s[a],c=i[u],l=t[u],h=c(l,e);if(void 0===h)throw e&&e.type,new Error(ye(14));r[u]=h,n=n||h!==l}return(n=n||s.length!==Object.keys(t).length)?r:t}}function je(){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 Ce(){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(ye(15))},r={getState:i.getState,dispatch:function(){return n.apply(void 0,arguments)}},o=e.map((function(t){return t(r)}));return n=je.apply(void 0,o)(i.dispatch),we(we({},i),{},{dispatch:n})}}}function Ne(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 Re=Ne();Re.withExtraArgument=Ne;var Me,Ue=Re,Te=(Me=function(t,e){return Me=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])},Me(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}Me(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),Ae=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},Ie=Object.defineProperty,$e=Object.getOwnPropertySymbols,ke=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,Le=function(t,e,i){return e in t?Ie(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i},Fe=function(t,e){for(var i in e||(e={}))ke.call(e,i)&&Le(t,i,e[i]);if($e)for(var n=0,r=$e(e);n<r.length;n++){i=r[n];Pe.call(e,i)&&Le(t,i,e[i])}return t},_e="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?je:je.apply(null,arguments)};var Be=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 Te(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,Ae([void 0],t[0].concat(this)))):new(e.bind.apply(e,Ae([void 0],t.concat(this))))},e}(Array);function De(t){return mt(t)?ve(t,(function(){})):t}function We(){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 Be;i&&(!function(t){return"boolean"==typeof t}(i)?n.push(Ue.withExtraArgument(i.extraArgument)):n.push(Ue));return n}(t)}}function Ke(t){var e,i=We(),n=t||{},r=n.reducer,o=void 0===r?void 0:r,s=n.middleware,a=void 0===s?i():s,u=n.devTools,c=void 0===u||u,l=n.preloadedState,h=void 0===l?void 0:l,d=n.enhancers,f=void 0===d?void 0:d;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=Se(o)}var v=a;"function"==typeof v&&(v=v(i));var p=Ce.apply(void 0,v),b=je;c&&(b=_e(Fe({trace:!1},"object"==typeof c&&c)));var w=[p];return Array.isArray(f)?w=Ae([p],f):"function"==typeof f&&(w=f(w)),Ee(e,h,b.apply(void 0,w))}function He(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 Fe(Fe({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 ze(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 Ve(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:De(t.initialState),r=t.reducers||{},o=Object.keys(r),s={},a={},u={};function c(){var e="function"==typeof t.extraReducers?ze(t.extraReducers):[t.extraReducers],i=e[0],r=void 0===i?{}:i,o=e[1],s=void 0===o?[]:o,u=e[2],c=void 0===u?void 0:u,l=Fe(Fe({},r),a);return function(t,e,i,n){void 0===i&&(i=[]);var r,o="function"==typeof e?ze(e):[e,i,n],s=o[0],a=o[1],u=o[2];if(function(t){return"function"==typeof t}(t))r=function(){return De(t())};else{var c=De(t);r=function(){return c}}function l(t,e){void 0===t&&(t=r());var i=Ae([s[e.type]],a.filter((function(t){return(0,t.matcher)(e)})).map((function(t){return t.reducer})));return 0===i.filter((function(t){return!!t})).length&&(i=[u]),i.reduce((function(t,i){if(i){var n;if(yt(t))return void 0===(n=i(t,e))?t:n;if(mt(t))return ve(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,l,s,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,a[c]=i,u[t]=n?He(c,n):He(c)})),{name:e,reducer:function(t,e){return i||(i=c()),i(t,e)},actions:u,caseReducers:s,getInitialState:function(){return i||(i=c()),i.getInitialState()}}}var Je="listenerMiddleware";He(Je+"/add"),He(Je+"/removeAll"),He(Je+"/remove"),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[re];return ce.get(e,t)},set:function(e){var i=this[re];ce.set(i,t,e)}},i}function e(t){for(var e=t.length-1;e>=0;e--){var r=t[e][re];if(!r.P)switch(r.i){case 5:n(r)&&zt(r);break;case 4:i(r)&&zt(r)}}}function i(t){for(var e=t.t,i=t.k,n=se(i),r=n.length-1;r>=0;r--){var o=n[r];if(o!==re){var s=e[o];if(void 0===s&&!Ot(e,o))return!0;var a=i[o],u=a&&a[re];if(u?u.t!==s:!St(a,s))return!0}}var c=!!e[re];return n.length!==se(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){ue[t]||(ue[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=ae(i);delete o[re];for(var s=se(o),a=0;a<s.length;a++){var u=s[a];o[u]=t(u,e||!!o[u].enumerable)}return Object.create(Object.getPrototypeOf(i),o)}(n,e),o={i:n?5:4,A:i?i.A:It(),P:!1,I:!1,D:{},l:i,t:e,k:r,o:null,O:!1,C:!1};return Object.defineProperty(r,re,{value:o,writable:!0}),r},S:function(t,i,r){r?yt(i)&&i[re].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var i=e[re];if(i){var r=i.t,o=i.k,s=i.D,a=i.i;if(4===a)gt(o,(function(e){e!==re&&(void 0!==r[e]||Ot(r,e)?s[e]||t(o[e]):(s[e]=!0,zt(i)))})),gt(r,(function(t){void 0!==o[t]||Ot(o,t)||(s[t]=!1,zt(i))}));else if(5===a){if(n(i)&&(zt(i),s.length=!0),o.length<r.length)for(var u=o.length;u<r.length;u++)s[u]=!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 Ze=t=>"object"==typeof t&&(0===Object.keys(t).length||"string"==typeof t.store||null!=t.selector||"function"==typeof t.hasChanged||null!=t.attribute),qe=(t,e)=>{var i;const n=Ze(t)?t:{};return e=null!==(i=null!=e?e:n.hasChanged)&&void 0!==i?i:(t,e)=>!a(t,e),(i,r)=>{var o,s;i.constructor.createProperty(r,{hasChanged:e,attribute:null!==(o=n.attribute)&&void 0!==o&&o});const a=i;a.reduxProperties=a.reduxProperties||new Map;const u=null!==(s=Ze(t)?n.selector:t)&&void 0!==s?s:t=>t[r];a.reduxProperties.set(r,{selector:u,store:n.store})}};class Ge extends pt{constructor(){super(...arguments),this.internalStoresUnsubscribers=new Map,this.internalStores=new Map}getUnnamedStore(){if(this.internalStores.size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this.internalStores.values()][0]}get store(){return this.getUnnamedStore()}set store(t){this.unsubscribeFromStores(),this.internalStores.clear(),t&&this.addStore(t)}getStore(t){var e;return null==t?null!==(e=this.getUnnamedStore())&&void 0!==e?e:this.store:this.internalStores.get(t)}addStore(t,e){e=null!=e?e:Xe(t)?t.name:"ft-lit-element-redux-default-store",this.unsubscribeFromStore(e),this.setupStore(e,t)}removeStore(t){const e="string"==typeof t?t:Xe(t)?t.name:"ft-lit-element-redux-default-store";this.unsubscribeFromStore(e),this.internalStores.delete(e)}setupStore(t,e){this.internalStores.set(t,e),this.updateFromStores(),this.subscribeToStore(t,e)}setupStores(){this.unsubscribeFromStores(),0===this.internalStores.size&&null!=this.store?this.addStore(this.store):(this.updateFromStores(),this.internalStores.forEach(((t,e)=>this.subscribeToStore(e,t))))}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.internalStoresUnsubscribers.set(t,e.subscribe((()=>this.updateFromStores()))),this.onStoreAvailable(t)}unsubscribeFromStores(){Object.keys(this.internalStoresUnsubscribers).forEach((t=>this.unsubscribeFromStore(t)))}unsubscribeFromStore(t){this.internalStoresUnsubscribers.has(t)&&this.internalStoresUnsubscribers.get(t)(),this.internalStoresUnsubscribers.delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){this.unsubscribeFromStores(),super.disconnectedCallback()}}function Xe(t){var e;return null===(e=t)||void 0===e?void 0:e.isFtReduxStore}class Qe{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}}})}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(Xe(n))return n;if(null==i)return;const r=Ve(i);if(n)return new Qe(r,n);const o=Ke({reducer:r.reducer});return window.ftReduxStores[i.name]=new Qe(r,o)}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 Ye,ti;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(ti=null===(Ye=window.safari)||void 0===Ye?void 0:Ye.pushNotification)||void 0===ti||ti.toString());const ei={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 ii{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 a={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,prettyUrl:s,depth:e,parentTocId:i,children:[]};this.register(a);const u=this.convertSectionNodes(null!==(o=t.pageToc)&&void 0!==o?o:[],e+1,t.tocId),c=this.convertNodes(t.children,e+1,a.tocId);return a.children=[...u,...c],[a]}))}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,a;const u={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?u.topics:u.hiddenTopics).push(t),l=null!==(s=null===(o=t.pageConfiguration)||void 0===o?void 0:o.parentsVisibility)&&void 0!==s?s:[];return u.breadcrumb.forEach(((t,e)=>{c(t,l[e])})),t.tocId&&c(t.tocId,t.pageConfiguration.isVisible),u.topics.push(...this.tocIds(null!==(a=t.pageToc)&&void 0!==a?a:[])),u}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 ni{convertPaginatedToc(t){return new ii(t).build()}}const ri=w`
|
|
93
|
-
`,
|
|
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
|
+
`,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`
|
|
94
83
|
<slot></slot>
|
|
95
|
-
`}updated(t){super.updated(t),t.has("baseUrl")&&
|
|
96
|
-
`;var
|
|
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`
|
|
97
86
|
${this.importStyleIfNeeded()}
|
|
98
87
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
99
|
-
`}importStyleIfNeeded(){var t,e;
|
|
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`
|
|
100
89
|
<style>
|
|
101
|
-
@import "${
|
|
90
|
+
@import "${i}"
|
|
102
91
|
</style>
|
|
103
|
-
`}get stateManager(){return null==this._stateManager&&(this._stateManager=
|
|
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}({});
|
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
package/build/registration.d.ts
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import type { FtReaderStateManager as FtReaderStateManagerInternal } from "./store/FtReaderStateManager";
|
|
2
|
-
import { FtLitElementRedux } from "@fluid-topics/ft-wc-utils";
|
|
2
|
+
import { Constructor, FtLitElementRedux } from "@fluid-topics/ft-wc-utils";
|
|
3
3
|
import type { FtReaderService } from "./store/utils/FtReaderService";
|
|
4
4
|
export * from "./store/model";
|
|
5
|
-
export
|
|
5
|
+
export type FtReaderStateManager = FtReaderStateManagerInternal;
|
|
6
6
|
export declare class RegisterReaderComponentEvent extends Event {
|
|
7
7
|
constructor();
|
|
8
8
|
}
|
|
9
|
-
export
|
|
9
|
+
export type FtReaderComponentInterface = {
|
|
10
10
|
stateManager?: FtReaderStateManager;
|
|
11
11
|
service: FtReaderService | undefined;
|
|
12
12
|
setReaderStateManager(stateManager: FtReaderStateManager): void;
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
export declare type FtReaderComponentType<T extends Constructor<FtLitElementRedux>> = T & Constructor<FtReaderComponentInterface>;
|
|
14
|
+
export type FtReaderComponentType<T extends Constructor<FtLitElementRedux>> = T & Constructor<FtReaderComponentInterface>;
|
|
16
15
|
export declare function toFtReaderComponent<T extends Constructor<FtLitElementRedux>>(ReduxClass: T): FtReaderComponentType<T>;
|
|
17
16
|
declare const FtReaderComponent_base: FtReaderComponentType<typeof FtLitElementRedux>;
|
|
18
17
|
export declare class FtReaderComponent extends FtReaderComponent_base {
|
|
19
18
|
}
|
|
20
|
-
//# sourceMappingURL=registration.d.ts.map
|
package/build/registration.js
CHANGED
|
@@ -12,11 +12,13 @@ export class RegisterReaderComponentEvent extends Event {
|
|
|
12
12
|
super("register-ft-reader-component", { bubbles: true, composed: true });
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
const registerInterval = Symbol("registerInterval");
|
|
15
16
|
export function toFtReaderComponent(ReduxClass) {
|
|
17
|
+
var _a;
|
|
16
18
|
class FtReaderComponentClass extends ReduxClass {
|
|
17
19
|
constructor() {
|
|
18
20
|
super(...arguments);
|
|
19
|
-
this
|
|
21
|
+
this[_a] = 0;
|
|
20
22
|
}
|
|
21
23
|
setReaderStateManager(stateManager) {
|
|
22
24
|
this.clearStateManager();
|
|
@@ -30,16 +32,16 @@ export function toFtReaderComponent(ReduxClass) {
|
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
get service() {
|
|
33
|
-
var
|
|
34
|
-
return (
|
|
35
|
+
var _b;
|
|
36
|
+
return (_b = this.stateManager) === null || _b === void 0 ? void 0 : _b.service;
|
|
35
37
|
}
|
|
36
38
|
connectedCallback() {
|
|
37
39
|
super.connectedCallback();
|
|
38
|
-
this
|
|
40
|
+
this[registerInterval] = window.setInterval(() => this.tryToRegisterToContext(), 50);
|
|
39
41
|
}
|
|
40
42
|
tryToRegisterToContext() {
|
|
41
43
|
if (this.stateManager != null) {
|
|
42
|
-
window.clearInterval(this
|
|
44
|
+
window.clearInterval(this[registerInterval]);
|
|
43
45
|
}
|
|
44
46
|
else {
|
|
45
47
|
this.dispatchEvent(new RegisterReaderComponentEvent());
|
|
@@ -50,6 +52,7 @@ export function toFtReaderComponent(ReduxClass) {
|
|
|
50
52
|
this.clearStateManager();
|
|
51
53
|
}
|
|
52
54
|
}
|
|
55
|
+
_a = registerInterval;
|
|
53
56
|
__decorate([
|
|
54
57
|
state()
|
|
55
58
|
], FtReaderComponentClass.prototype, "stateManager", void 0);
|
|
@@ -57,4 +60,3 @@ export function toFtReaderComponent(ReduxClass) {
|
|
|
57
60
|
}
|
|
58
61
|
export class FtReaderComponent extends toFtReaderComponent(FtLitElementRedux) {
|
|
59
62
|
}
|
|
60
|
-
//# sourceMappingURL=registration.js.map
|
|
@@ -2,14 +2,14 @@ import { Debouncer, delay } from "@fluid-topics/ft-wc-utils";
|
|
|
2
2
|
import { createReaderStore } from "./redux";
|
|
3
3
|
import { FtReaderService } from "./utils/FtReaderService";
|
|
4
4
|
export class FtReaderStateManager {
|
|
5
|
+
static build(id) {
|
|
6
|
+
return new FtReaderStateManager(createReaderStore(id.trim() || "context"), FtReaderService.build);
|
|
7
|
+
}
|
|
5
8
|
constructor(store, serviceProvider) {
|
|
6
9
|
this.store = store;
|
|
7
10
|
this.reloadDebouncer = new Debouncer(10);
|
|
8
11
|
this.initService(serviceProvider);
|
|
9
12
|
}
|
|
10
|
-
static build(id) {
|
|
11
|
-
return new FtReaderStateManager(createReaderStore(id.trim() || "context"), FtReaderService.build);
|
|
12
|
-
}
|
|
13
13
|
async initService(serviceProvider) {
|
|
14
14
|
this.service = await serviceProvider();
|
|
15
15
|
this.service.mapId = this.store.getState().mapId;
|
|
@@ -74,4 +74,3 @@ export class FtReaderStateManager {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=FtReaderStateManager.js.map
|
package/build/store/model.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Store } from "@reduxjs/toolkit";
|
|
2
2
|
import { FtMap, FtPaginationConfiguration, FtRatingType, FtRatingTypeKeys, FtReaderConfiguration, FtTocNode, FtTopic, FtTopicRating } from "@fluid-topics/public-api";
|
|
3
|
-
export
|
|
3
|
+
export type FtReaderStore = Store<FtReaderState>;
|
|
4
4
|
export interface FtPagesTocNode {
|
|
5
5
|
depth: number;
|
|
6
6
|
tocId: string;
|
|
@@ -24,7 +24,7 @@ export interface FtReaderPage {
|
|
|
24
24
|
export interface FtReaderTopic extends FtTopic {
|
|
25
25
|
htmlContent?: string;
|
|
26
26
|
}
|
|
27
|
-
export
|
|
27
|
+
export type FtReaderScrollTarget = {
|
|
28
28
|
tocId?: string;
|
|
29
29
|
section?: string;
|
|
30
30
|
};
|
|
@@ -53,4 +53,3 @@ export interface FtTopicRatingSummary {
|
|
|
53
53
|
rating?: FtTopicRating;
|
|
54
54
|
type: FtRatingType | FtRatingTypeKeys;
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=model.d.ts.map
|
package/build/store/model.js
CHANGED
package/build/store/redux.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ declare const readerStateReducers: {
|
|
|
13
13
|
setVisibleTopics: (state: FtReaderState, action: PayloadAction<FtReaderState["visibleTopics"]>) => void;
|
|
14
14
|
setConfiguration: (state: FtReaderState, action: PayloadAction<FtReaderState["configuration"]>) => void;
|
|
15
15
|
};
|
|
16
|
-
export
|
|
16
|
+
export type FtReaderStateReducers = typeof readerStateReducers;
|
|
17
17
|
export declare const createReaderStore: (id: string) => FtReduxStore<FtReaderState, {
|
|
18
18
|
setMapId: (state: FtReaderState, action: PayloadAction<FtReaderState["mapId"]>) => void;
|
|
19
19
|
setTocId: (state: FtReaderState, action: PayloadAction<FtReaderState["tocId"]>) => void;
|
|
@@ -27,4 +27,3 @@ export declare const createReaderStore: (id: string) => FtReduxStore<FtReaderSta
|
|
|
27
27
|
setConfiguration: (state: FtReaderState, action: PayloadAction<FtReaderState["configuration"]>) => void;
|
|
28
28
|
}, import("redux").AnyAction>;
|
|
29
29
|
export {};
|
|
30
|
-
//# sourceMappingURL=redux.d.ts.map
|
package/build/store/redux.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FtPaginatedToc, FtPaginationConfiguration } from "@fluid-topics/public-api";
|
|
2
2
|
import { FtPagesTocNode, FtReaderPage, FtReaderTocNode } from "../model";
|
|
3
|
-
export
|
|
3
|
+
export type EnrichedToc = {
|
|
4
4
|
paginationConfiguration: FtPaginationConfiguration;
|
|
5
5
|
toc: Array<FtReaderTocNode>;
|
|
6
6
|
pagesToc: Array<FtPagesTocNode>;
|
|
@@ -12,4 +12,3 @@ export declare type EnrichedToc = {
|
|
|
12
12
|
export declare class FtReaderConverter {
|
|
13
13
|
convertPaginatedToc(paginatedToc: FtPaginatedToc): EnrichedToc;
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=FtReaderConverter.d.ts.map
|
|
@@ -2,13 +2,6 @@ import { CacheRegistry } from "@fluid-topics/ft-wc-utils";
|
|
|
2
2
|
import { FtReaderConverter } from "./FtReaderConverter";
|
|
3
3
|
import { FluidTopicsApiProvider, ftAppInfoStore } from "@fluid-topics/ft-app-context";
|
|
4
4
|
export class FtReaderService {
|
|
5
|
-
constructor(converter, api, cache, mapId) {
|
|
6
|
-
this.converter = converter;
|
|
7
|
-
this.api = api;
|
|
8
|
-
this.cache = cache;
|
|
9
|
-
this._mapId = mapId;
|
|
10
|
-
this.initCache();
|
|
11
|
-
}
|
|
12
5
|
static async build(mapId) {
|
|
13
6
|
return new FtReaderService(new FtReaderConverter(), await FluidTopicsApiProvider.await(), new CacheRegistry(), mapId);
|
|
14
7
|
}
|
|
@@ -21,6 +14,13 @@ export class FtReaderService {
|
|
|
21
14
|
}
|
|
22
15
|
this._mapId = value;
|
|
23
16
|
}
|
|
17
|
+
constructor(converter, api, cache, mapId) {
|
|
18
|
+
this.converter = converter;
|
|
19
|
+
this.api = api;
|
|
20
|
+
this.cache = cache;
|
|
21
|
+
this._mapId = mapId;
|
|
22
|
+
this.initCache();
|
|
23
|
+
}
|
|
24
24
|
async withMapId(provider) {
|
|
25
25
|
return this._mapId ? provider(this._mapId) : undefined;
|
|
26
26
|
}
|
|
@@ -165,4 +165,3 @@ export class FtReaderService {
|
|
|
165
165
|
return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme);
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
-
//# sourceMappingURL=FtReaderService.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-reader-context",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-alpha.1",
|
|
4
4
|
"description": "Context block for integrated reader components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Lit"
|
|
@@ -19,10 +19,10 @@
|
|
|
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": "0.
|
|
23
|
-
"@fluid-topics/ft-wc-utils": "0.
|
|
22
|
+
"@fluid-topics/ft-app-context": "1.0.0-alpha.1",
|
|
23
|
+
"@fluid-topics/ft-wc-utils": "1.0.0-alpha.1",
|
|
24
24
|
"@reduxjs/toolkit": "^1.6.2",
|
|
25
|
-
"lit": "2.2
|
|
25
|
+
"lit": "2.7.2"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@fluid-topics/public-api": "1.0.33"
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"@fluid-topics/public-api": "1.0.33"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "bb54c217f788a915a443db6f496f02e176d05306"
|
|
34
34
|
}
|