@fluid-topics/ft-reader-context 0.3.8 → 0.3.11
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.d.ts +20 -3
- package/build/ft-reader-context.js +59 -15
- package/build/ft-reader-context.light.js +3 -3
- package/build/ft-reader-context.min.js +8 -8
- package/build/store/FtReaderStateManager.d.ts +2 -0
- package/build/store/FtReaderStateManager.js +8 -3
- package/build/store/model.d.ts +11 -0
- package/build/store/redux.d.ts +4 -0
- package/build/store/redux.js +9 -1
- package/build/store/utils/FtReaderConverter.d.ts +1 -0
- package/build/store/utils/FtReaderConverter.js +9 -2
- package/build/store/utils/FtReaderService.d.ts +4 -1
- package/build/store/utils/FtReaderService.js +36 -13
- package/package.json +3 -3
|
@@ -1,24 +1,34 @@
|
|
|
1
1
|
import { PropertyValues } from "lit";
|
|
2
2
|
import { FtLitElementRedux } from "@fluid-topics/ft-wc-utils";
|
|
3
|
+
import { FtReaderNavigationData, FtReaderTocNode } from "./store/model";
|
|
3
4
|
import { FtMap } from "@fluid-topics/public-api";
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
declare type MapLoadedEventDetail = {
|
|
6
|
+
map: FtMap;
|
|
7
|
+
toc: Array<FtReaderTocNode>;
|
|
8
|
+
};
|
|
9
|
+
export declare class MapLoadedEvent extends CustomEvent<MapLoadedEventDetail> {
|
|
10
|
+
constructor(map: FtMap, toc: Array<FtReaderTocNode>);
|
|
6
11
|
}
|
|
7
12
|
export interface FtReaderVisibleTopic {
|
|
8
13
|
tocId: string;
|
|
9
14
|
title: string;
|
|
15
|
+
page?: number;
|
|
16
|
+
prettyUrl?: string;
|
|
17
|
+
prettyUrlDuplicated: boolean;
|
|
10
18
|
breadcrumb?: Array<{
|
|
11
19
|
tocId: string;
|
|
12
20
|
title: string;
|
|
13
21
|
}>;
|
|
14
22
|
}
|
|
15
23
|
export interface VisibleTopicsChangeData {
|
|
16
|
-
map: FtMap;
|
|
17
24
|
visibleTopics: FtReaderVisibleTopic[];
|
|
18
25
|
}
|
|
19
26
|
export declare class VisibleTopicsChangeEvent extends CustomEvent<VisibleTopicsChangeData> {
|
|
20
27
|
constructor(map: FtMap, visibleTopics: FtReaderVisibleTopic[]);
|
|
21
28
|
}
|
|
29
|
+
export declare class NavigationDoneEvent extends CustomEvent<FtReaderNavigationData> {
|
|
30
|
+
constructor(data: FtReaderNavigationData);
|
|
31
|
+
}
|
|
22
32
|
export declare class FtReaderContext extends FtLitElementRedux {
|
|
23
33
|
static styles: import("lit").CSSResult;
|
|
24
34
|
baseUrl?: string;
|
|
@@ -27,14 +37,21 @@ export declare class FtReaderContext extends FtLitElementRedux {
|
|
|
27
37
|
tocId?: string;
|
|
28
38
|
section?: string;
|
|
29
39
|
page?: number;
|
|
40
|
+
renderBeforeFirst: number;
|
|
41
|
+
renderAfterLast: number;
|
|
30
42
|
private map?;
|
|
31
43
|
private toc?;
|
|
32
44
|
private visibleTopics;
|
|
45
|
+
private currentPageNumber?;
|
|
46
|
+
private scrollTarget?;
|
|
33
47
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
34
48
|
private _stateManager?;
|
|
35
49
|
private get stateManager();
|
|
36
50
|
protected updated(props: PropertyValues): void;
|
|
51
|
+
private navigationDebouncer;
|
|
37
52
|
protected contentAvailableCallback(props: PropertyValues): void;
|
|
53
|
+
navigateToTarget(): void;
|
|
38
54
|
private registerComponent;
|
|
39
55
|
}
|
|
56
|
+
export {};
|
|
40
57
|
//# sourceMappingURL=ft-reader-context.d.ts.map
|
|
@@ -6,23 +6,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { css, html } from "lit";
|
|
8
8
|
import { property } from "lit/decorators.js";
|
|
9
|
-
import { FtLitElementRedux, redux } from "@fluid-topics/ft-wc-utils";
|
|
9
|
+
import { Debouncer, FtLitElementRedux, redux } from "@fluid-topics/ft-wc-utils";
|
|
10
10
|
import { FtReaderStateManager } from "./store/FtReaderStateManager";
|
|
11
11
|
export class MapLoadedEvent extends CustomEvent {
|
|
12
|
-
constructor(map) {
|
|
13
|
-
super("ft-reader-map-loaded", { detail: map });
|
|
12
|
+
constructor(map, toc) {
|
|
13
|
+
super("ft-reader-map-loaded", { detail: { map, toc } });
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
export class VisibleTopicsChangeEvent extends CustomEvent {
|
|
17
17
|
constructor(map, visibleTopics) {
|
|
18
|
-
super("ft-reader-visible-topics-change", { detail: {
|
|
18
|
+
super("ft-reader-visible-topics-change", { detail: { visibleTopics } });
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
export class NavigationDoneEvent extends CustomEvent {
|
|
22
|
+
constructor(data) {
|
|
23
|
+
super("ft-reader-navigation-done", { detail: data });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const fromNumberAttribute = (defaultValue) => (value) => +(value !== null && value !== void 0 ? value : "NaN") > 0 ? +value : defaultValue;
|
|
21
27
|
export class FtReaderContext extends FtLitElementRedux {
|
|
22
28
|
constructor() {
|
|
23
29
|
super(...arguments);
|
|
24
30
|
this.apiIntegrationIdentifier = "ft-reader";
|
|
31
|
+
this.renderBeforeFirst = 2;
|
|
32
|
+
this.renderAfterLast = 3;
|
|
25
33
|
this.visibleTopics = [];
|
|
34
|
+
this.navigationDebouncer = new Debouncer(5);
|
|
26
35
|
}
|
|
27
36
|
render() {
|
|
28
37
|
return html `
|
|
@@ -31,7 +40,7 @@ export class FtReaderContext extends FtLitElementRedux {
|
|
|
31
40
|
}
|
|
32
41
|
get stateManager() {
|
|
33
42
|
if (this._stateManager == null) {
|
|
34
|
-
this._stateManager = FtReaderStateManager.build(this.id || "" + Math.round(Math.random() *
|
|
43
|
+
this._stateManager = FtReaderStateManager.build(this.id || ("" + Math.round(Math.random() * 999000)).padStart(6, "0"));
|
|
35
44
|
this.store = this.stateManager.store;
|
|
36
45
|
}
|
|
37
46
|
return this._stateManager;
|
|
@@ -54,24 +63,50 @@ export class FtReaderContext extends FtLitElementRedux {
|
|
|
54
63
|
if ((props.has("tocId") || props.has("section") || props.has("page")) && this.tocId) {
|
|
55
64
|
this.stateManager.navigateToTopic(this.tocId, this.section, this.page);
|
|
56
65
|
}
|
|
66
|
+
if (props.has("renderBeforeFirst")) {
|
|
67
|
+
this.stateManager.setRenderBeforeFirst(this.renderBeforeFirst);
|
|
68
|
+
}
|
|
69
|
+
if (props.has("renderAfterLast")) {
|
|
70
|
+
this.stateManager.setRenderAfterLast(this.renderAfterLast);
|
|
71
|
+
}
|
|
57
72
|
}
|
|
58
73
|
contentAvailableCallback(props) {
|
|
74
|
+
var _a;
|
|
59
75
|
super.contentAvailableCallback(props);
|
|
60
76
|
if ((props.has("map") || props.has("toc")) && this.map && this.toc) {
|
|
61
|
-
this.dispatchEvent(new MapLoadedEvent(this.map));
|
|
77
|
+
this.dispatchEvent(new MapLoadedEvent(this.map, this.toc));
|
|
78
|
+
}
|
|
79
|
+
if (props.has("scrollTarget") && ((_a = this.scrollTarget) === null || _a === void 0 ? void 0 : _a.tocId) == null) {
|
|
80
|
+
const oldScrollTarget = props.get("scrollTarget");
|
|
81
|
+
if ((oldScrollTarget === null || oldScrollTarget === void 0 ? void 0 : oldScrollTarget.tocId) != null) {
|
|
82
|
+
this.navigationDebouncer.run(() => this.stateManager.service.getAccurateNavigationData(oldScrollTarget.tocId, this.currentPageNumber, oldScrollTarget.section)
|
|
83
|
+
.then(data => this.dispatchEvent(new NavigationDoneEvent(data))));
|
|
84
|
+
}
|
|
62
85
|
}
|
|
63
86
|
if (props.has("visibleTopics")) {
|
|
64
|
-
Promise.all(this.visibleTopics.map(tocId => this.stateManager.service.
|
|
65
|
-
.then(
|
|
66
|
-
let visibleTopics =
|
|
67
|
-
|
|
68
|
-
|
|
87
|
+
Promise.all(this.visibleTopics.map(tocId => this.stateManager.service.getAccurateNavigationData(tocId, this.currentPageNumber)))
|
|
88
|
+
.then(navigationData => {
|
|
89
|
+
let visibleTopics = navigationData.filter(data => data != null && data.topicTitle !== "")
|
|
90
|
+
.map(data => ({
|
|
91
|
+
tocId: data.tocId,
|
|
92
|
+
title: data.topicTitle,
|
|
93
|
+
page: data.page,
|
|
94
|
+
prettyUrl: data.prettyUrl,
|
|
95
|
+
prettyUrlDuplicated: data.prettyUrlDuplicated,
|
|
69
96
|
// TODO : breadcrumb
|
|
70
97
|
}));
|
|
71
98
|
this.dispatchEvent(new VisibleTopicsChangeEvent(this.map, visibleTopics));
|
|
72
99
|
});
|
|
73
100
|
}
|
|
74
101
|
}
|
|
102
|
+
navigateToTarget() {
|
|
103
|
+
if (this.tocId != null) {
|
|
104
|
+
this.stateManager.navigateToTopic(this.tocId, this.section, this.page);
|
|
105
|
+
}
|
|
106
|
+
else if (this.page != null) {
|
|
107
|
+
this.stateManager.navigateToPage(this.page);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
75
110
|
registerComponent(e) {
|
|
76
111
|
e.stopPropagation();
|
|
77
112
|
const component = e.composedPath()[0];
|
|
@@ -97,11 +132,14 @@ __decorate([
|
|
|
97
132
|
property()
|
|
98
133
|
], FtReaderContext.prototype, "section", void 0);
|
|
99
134
|
__decorate([
|
|
100
|
-
property({
|
|
101
|
-
type: Number,
|
|
102
|
-
converter: { fromAttribute: (value) => value ? +value : undefined }
|
|
103
|
-
})
|
|
135
|
+
property({ type: Number, converter: { fromAttribute: fromNumberAttribute() } })
|
|
104
136
|
], FtReaderContext.prototype, "page", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
property({ type: Number, converter: { fromAttribute: fromNumberAttribute(2) } })
|
|
139
|
+
], FtReaderContext.prototype, "renderBeforeFirst", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
property({ type: Number, converter: { fromAttribute: fromNumberAttribute(3) } })
|
|
142
|
+
], FtReaderContext.prototype, "renderAfterLast", void 0);
|
|
105
143
|
__decorate([
|
|
106
144
|
redux()
|
|
107
145
|
], FtReaderContext.prototype, "map", void 0);
|
|
@@ -111,4 +149,10 @@ __decorate([
|
|
|
111
149
|
__decorate([
|
|
112
150
|
redux()
|
|
113
151
|
], FtReaderContext.prototype, "visibleTopics", void 0);
|
|
152
|
+
__decorate([
|
|
153
|
+
redux((state) => { var _a; return (_a = state.currentPage) === null || _a === void 0 ? void 0 : _a.number; })
|
|
154
|
+
], FtReaderContext.prototype, "currentPageNumber", void 0);
|
|
155
|
+
__decorate([
|
|
156
|
+
redux()
|
|
157
|
+
], FtReaderContext.prototype, "scrollTarget", void 0);
|
|
114
158
|
//# sourceMappingURL=ft-reader-context.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(t,n,r,e){function i(t){for(var n=arguments.length,r=Array(n>1?n-1:0),e=1;e<n;e++)r[e-1]=arguments[e];throw Error("[Immer] minified error nr: "+t+(r.length?" "+r.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function o(t){return!!t&&!!t[V]}function u(t){return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var n=Object.getPrototypeOf(t);if(null===n)return!0;var r=Object.hasOwnProperty.call(n,"constructor")&&n.constructor;return r===Object||"function"==typeof r&&Function.toString.call(r)===J}(t)||Array.isArray(t)||!!t[L]||!!t.constructor[L]||d(t)||v(t))}function c(t,n,r){void 0===r&&(r=!1),0===a(t)?(r?Object.keys:W)(t).forEach((function(e){r&&"symbol"==typeof e||n(e,t[e],t)})):t.forEach((function(r,e){return n(e,r,t)}))}function a(t){var n=t[V];return n?n.i>3?n.i-4:n.i:Array.isArray(t)?1:d(t)?2:v(t)?3:0}function s(t,n){return 2===a(t)?t.has(n):Object.prototype.hasOwnProperty.call(t,n)}function f(t,n,r){var e=a(t);2===e?t.set(n,r):3===e?(t.delete(n),t.add(r)):t[n]=r}function l(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}function d(t){return N&&t instanceof Map}function v(t){return G&&t instanceof Set}function h(t){return t.o||t.t}function p(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var n=X(t);delete n[V];for(var r=W(n),e=0;e<r.length;e++){var i=r[e],o=n[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(n[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),n)}function b(t,n){return void 0===n&&(n=!1),w(t)||o(t)||!u(t)||(a(t)>1&&(t.set=t.add=t.clear=t.delete=y),Object.freeze(t),n&&c(t,(function(t,n){return b(n,!0)}),!0)),t}function y(){i(2)}function w(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function m(t){var n=Y[t];return n||i(18,t),n}function g(){return $}function j(t,n){n&&(m("Patches"),t.u=[],t.s=[],t.v=n)}function I(t){O(t),t.p.forEach(T),t.p=null}function O(t){t===$&&($=t.l)}function P(t){return $={p:[],l:$,h:t,m:!0,_:0}}function T(t){var n=t[V];0===n.i||1===n.i?n.j():n.O=!0}function A(t,n){n._=n.p.length;var r=n.p[0],e=void 0!==t&&t!==r;return n.h.g||m("ES5").S(n,t,e),e?(r[V].P&&(I(n),i(4)),u(t)&&(t=S(n,t),n.l||M(n,t)),n.u&&m("Patches").M(r[V].t,t,n.u,n.s)):t=S(n,r,[]),I(n),n.u&&n.v(n.u,n.s),t!==q?t:void 0}function S(t,n,r){if(w(n))return n;var e=n[V];if(!e)return c(n,(function(i,o){return E(t,e,n,i,o,r)}),!0),n;if(e.A!==t)return n;if(!e.P)return M(t,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var i=4===e.i||5===e.i?e.o=p(e.k):e.o;c(3===e.i?new Set(i):i,(function(n,o){return E(t,e,i,n,o,r)})),M(t,i,!1),r&&t.u&&m("Patches").R(e,r,t.u,t.s)}return e.o}function E(t,n,r,e,i,c){if(o(i)){var a=S(t,i,c&&n&&3!==n.i&&!s(n.D,e)?c.concat(e):void 0);if(f(r,e,a),!o(a))return;t.m=!1}if(u(i)&&!w(i)){if(!t.h.F&&t._<1)return;S(t,i),n&&n.A.l||M(t,i)}}function M(t,n,r){void 0===r&&(r=!1),t.h.F&&t.m&&b(n,r)}function _(t,n){var r=t[V];return(r?h(r):t)[n]}function C(t,n){if(n in t)for(var r=Object.getPrototypeOf(t);r;){var e=Object.getOwnPropertyDescriptor(r,n);if(e)return e;r=Object.getPrototypeOf(r)}}function x(t){t.P||(t.P=!0,t.l&&x(t.l))}function R(t){t.o||(t.o=p(t.t))}function U(t,n,r){var e=d(n)?m("MapSet").N(n,r):v(n)?m("MapSet").T(n,r):t.g?function(t,n){var r=Array.isArray(t),e={i:r?1:0,A:n?n.A:g(),P:!1,I:!1,D:{},l:n,t,k:null,o:null,j:null,C:!1},i=e,o=z;r&&(i=[e],o=H);var u=Proxy.revocable(i,o),c=u.revoke,a=u.proxy;return e.k=a,e.j=c,a}(n,r):m("ES5").J(n,r);return(r?r.A:g()).p.push(e),e}function D(t){return o(t)||i(22,t),function t(n){if(!u(n))return n;var r,e=n[V],i=a(n);if(e){if(!e.P&&(e.i<4||!m("ES5").K(e)))return e.t;e.I=!0,r=k(n,i),e.I=!1}else r=k(n,i);return c(r,(function(n,i){e&&function(t,n){return 2===a(t)?t.get(n):t[n]}(e.t,n)===i||f(r,n,t(i))})),3===i?new Set(r):r}(t)}function k(t,n){switch(n){case 2:return new Map(t);case 3:return Array.from(t)}return p(t)}var B,$,F="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),N="undefined"!=typeof Map,G="undefined"!=typeof Set,K="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,q=F?Symbol.for("immer-nothing"):((B={})["immer-nothing"]=!0,B),L=F?Symbol.for("immer-draftable"):"__$immer_draftable",V=F?Symbol.for("immer-state"):"__$immer_state",J=""+Object.prototype.constructor,W="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,X=Object.getOwnPropertyDescriptors||function(t){var n={};return W(t).forEach((function(r){n[r]=Object.getOwnPropertyDescriptor(t,r)})),n},Y={},z={get:function(t,n){if(n===V)return t;var r=h(t);if(!s(r,n))return function(t,n,r){var e,i=C(n,r);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(t.k):void 0}(t,r,n);var e=r[n];return t.I||!u(e)?e:e===_(t.t,n)?(R(t),t.o[n]=U(t.A.h,e,t)):e},has:function(t,n){return n in h(t)},ownKeys:function(t){return Reflect.ownKeys(h(t))},set:function(t,n,r){var e=C(h(t),n);if(null==e?void 0:e.set)return e.set.call(t.k,r),!0;if(!t.P){var i=_(h(t),n),o=null==i?void 0:i[V];if(o&&o.t===r)return t.o[n]=r,t.D[n]=!1,!0;if(l(r,i)&&(void 0!==r||s(t.t,n)))return!0;R(t),x(t)}return t.o[n]===r&&"number"!=typeof r&&(void 0!==r||n in t.o)||(t.o[n]=r,t.D[n]=!0,!0)},deleteProperty:function(t,n){return void 0!==_(t.t,n)||n in t.t?(t.D[n]=!1,R(t),x(t)):delete t.D[n],t.o&&delete t.o[n],!0},getOwnPropertyDescriptor:function(t,n){var r=h(t),e=Reflect.getOwnPropertyDescriptor(r,n);return e?{writable:!0,configurable:1!==t.i||"length"!==n,enumerable:e.enumerable,value:r[n]}:e},defineProperty:function(){i(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){i(12)}},H={};c(z,(function(t,n){H[t]=function(){return arguments[0]=arguments[0][0],n.apply(this,arguments)}})),H.deleteProperty=function(t,n){return H.set.call(this,t,n,void 0)},H.set=function(t,n,r){return z.set.call(this,t[0],n,r,t[0])};var Q=function(){function t(t){var n=this;this.g=K,this.F=!0,this.produce=function(t,r,e){if("function"==typeof t&&"function"!=typeof r){var o=r;r=t;var c=n;return function(t){var n=this;void 0===t&&(t=o);for(var e=arguments.length,i=Array(e>1?e-1:0),u=1;u<e;u++)i[u-1]=arguments[u];return c.produce(t,(function(t){var e;return(e=r).call.apply(e,[n,t].concat(i))}))}}var a;if("function"!=typeof r&&i(6),void 0!==e&&"function"!=typeof e&&i(7),u(t)){var s=P(n),f=U(n,t,void 0),l=!0;try{a=r(f),l=!1}finally{l?I(s):O(s)}return"undefined"!=typeof Promise&&a instanceof Promise?a.then((function(t){return j(s,e),A(t,s)}),(function(t){throw I(s),t})):(j(s,e),A(a,s))}if(!t||"object"!=typeof t){if(void 0===(a=r(t))&&(a=t),a===q&&(a=void 0),n.F&&b(a,!0),e){var d=[],v=[];m("Patches").M(t,a,d,v),e(d,v)}return a}i(21,t)},this.produceWithPatches=function(t,r){if("function"==typeof t)return function(r){for(var e=arguments.length,i=Array(e>1?e-1:0),o=1;o<e;o++)i[o-1]=arguments[o];return n.produceWithPatches(r,(function(n){return t.apply(void 0,[n].concat(i))}))};var e,i,o=n.produce(t,r,(function(t,n){e=t,i=n}));return"undefined"!=typeof Promise&&o instanceof Promise?o.then((function(t){return[t,e,i]})):[o,e,i]},"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 n=t.prototype;return n.createDraft=function(t){u(t)||i(8),o(t)&&(t=D(t));var n=P(this),r=U(this,t,void 0);return r[V].C=!0,O(n),r},n.finishDraft=function(t,n){var r=(t&&t[V]).A;return j(r,n),A(void 0,r)},n.setAutoFreeze=function(t){this.F=t},n.setUseProxies=function(t){t&&!K&&i(20),this.g=t},n.applyPatches=function(t,n){var r;for(r=n.length-1;r>=0;r--){var e=n[r];if(0===e.path.length&&"replace"===e.op){t=e.value;break}}r>-1&&(n=n.slice(r+1));var i=m("Patches").$;return o(t)?i(t,n):this.produce(t,(function(t){return i(t,n)}))},t}(),Z=new Q,tt=Z.produce;Z.produceWithPatches.bind(Z),Z.setAutoFreeze.bind(Z),Z.setUseProxies.bind(Z),Z.applyPatches.bind(Z),Z.createDraft.bind(Z),Z.finishDraft.bind(Z);var nt,rt=tt,et=(nt=function(t,n){return nt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])},nt(t,n)},function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}nt(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}),it=function(t,n){for(var r=0,e=n.length,i=t.length;r<e;r++,i++)t[i]=n[r];return t},ot=Object.defineProperty,ut=Object.getOwnPropertySymbols,ct=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,st=function(t,n,r){return n in t?ot(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r},ft=function(t,n){for(var r in n||(n={}))ct.call(n,r)&&st(t,r,n[r]);if(ut)for(var e=0,i=ut(n);e<i.length;e++){r=i[e];at.call(n,r)&&st(t,r,n[r])}return t};function lt(t){return u(t)?rt(t,(function(){})):t}function dt(t,n){function r(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];if(n){var i=n.apply(void 0,r);if(!i)throw new Error("prepareAction did not return an object");return ft(ft({type:t,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:t,payload:r[0]}}return r.toString=function(){return""+t},r.type=t,r.match=function(n){return n.type===t},r}function vt(t){var n,r={},e=[],i={addCase:function(t,n){var e="string"==typeof t?t:t.type;if(e in r)throw new Error("addCase cannot be called with two reducers for the same action type");return r[e]=n,i},addMatcher:function(t,n){return e.push({matcher:t,reducer:n}),i},addDefaultCase:function(t){return n=t,i}};return t(i),[r,e,n]}function ht(t){var n=t.name;if(!n)throw new Error("`name` is a required option for createSlice");var r,e="function"==typeof t.initialState?t.initialState:lt(t.initialState),i=t.reducers||{},c=Object.keys(i),a={},s={},f={};function l(){var n="function"==typeof t.extraReducers?vt(t.extraReducers):[t.extraReducers],r=n[0],i=void 0===r?{}:r,c=n[1],a=void 0===c?[]:c,f=n[2],l=void 0===f?void 0:f,d=ft(ft({},i),s);return function(t,n,r,e){void 0===r&&(r=[]);var i,c="function"==typeof n?vt(n):[n,r,e],a=c[0],s=c[1],f=c[2];if(function(t){return"function"==typeof t}(t))i=function(){return lt(t())};else{var l=lt(t);i=function(){return l}}function d(t,n){void 0===t&&(t=i());var r=it([a[n.type]],s.filter((function(t){return(0,t.matcher)(n)})).map((function(t){return t.reducer})));return 0===r.filter((function(t){return!!t})).length&&(r=[f]),r.reduce((function(t,r){if(r){var e;if(o(t))return void 0===(e=r(t,n))?t:e;if(u(t))return rt(t,(function(t){return r(t,n)}));if(void 0===(e=r(t,n))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return e}return t}),t)}return d.getInitialState=i,d}(e,d,a,l)}return c.forEach((function(t){var r,e,o=i[t],u=n+"/"+t;"reducer"in o?(r=o.reducer,e=o.prepare):r=o,a[t]=r,s[u]=r,f[t]=e?dt(u,e):dt(u)})),{name:n,reducer:function(t,n){return r||(r=l()),r(t,n)},actions:f,caseReducers:a,getInitialState:function(){return r||(r=l()),r.getInitialState()}}}!function(t){function n(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var i=t.apply(this,r)||this;return Object.setPrototypeOf(i,n.prototype),i}et(n,t),Object.defineProperty(n,Symbol.species,{get:function(){return n},enumerable:!1,configurable:!0}),n.prototype.concat=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return t.prototype.concat.apply(this,n)},n.prototype.prepend=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return 1===t.length&&Array.isArray(t[0])?new(n.bind.apply(n,it([void 0],t[0].concat(this)))):new(n.bind.apply(n,it([void 0],t.concat(this))))}}(Array);var pt="listenerMiddleware";dt(pt+"/add"),dt(pt+"/removeAll"),dt(pt+"/remove"),function(){function t(t,n){var r=i[t];return r?r.enumerable=n:i[t]=r={configurable:!0,enumerable:n,get:function(){var n=this[V];return z.get(n,t)},set:function(n){var r=this[V];z.set(r,t,n)}},r}function n(t){for(var n=t.length-1;n>=0;n--){var i=t[n][V];if(!i.P)switch(i.i){case 5:e(i)&&x(i);break;case 4:r(i)&&x(i)}}}function r(t){for(var n=t.t,r=t.k,e=W(r),i=e.length-1;i>=0;i--){var o=e[i];if(o!==V){var u=n[o];if(void 0===u&&!s(n,o))return!0;var c=r[o],a=c&&c[V];if(a?a.t!==u:!l(c,u))return!0}}var f=!!n[V];return e.length!==W(n).length+(f?0:1)}function e(t){var n=t.k;if(n.length!==t.t.length)return!0;var r=Object.getOwnPropertyDescriptor(n,n.length-1);if(r&&!r.get)return!0;for(var e=0;e<n.length;e++)if(!n.hasOwnProperty(e))return!0;return!1}var i={};!function(t,n){Y[t]||(Y[t]=n)}("ES5",{J:function(n,r){var e=Array.isArray(n),i=function(n,r){if(n){for(var e=Array(r.length),i=0;i<r.length;i++)Object.defineProperty(e,""+i,t(i,!0));return e}var o=X(r);delete o[V];for(var u=W(o),c=0;c<u.length;c++){var a=u[c];o[a]=t(a,n||!!o[a].enumerable)}return Object.create(Object.getPrototypeOf(r),o)}(e,n),o={i:e?5:4,A:r?r.A:g(),P:!1,I:!1,D:{},l:r,t:n,k:i,o:null,O:!1,C:!1};return Object.defineProperty(i,V,{value:o,writable:!0}),i},S:function(t,r,i){i?o(r)&&r[V].A===t&&n(t.p):(t.u&&function t(n){if(n&&"object"==typeof n){var r=n[V];if(r){var i=r.t,o=r.k,u=r.D,a=r.i;if(4===a)c(o,(function(n){n!==V&&(void 0!==i[n]||s(i,n)?u[n]||t(o[n]):(u[n]=!0,x(r)))})),c(i,(function(t){void 0!==o[t]||s(o,t)||(u[t]=!1,x(r))}));else if(5===a){if(e(r)&&(x(r),u.length=!0),o.length<i.length)for(var f=o.length;f<i.length;f++)u[f]=!1;else for(var l=i.length;l<o.length;l++)u[l]=!0;for(var d=Math.min(o.length,i.length),v=0;v<d;v++)o.hasOwnProperty(v)||(u[v]=!0),void 0===u[v]&&t(o[v])}}}}(t.p[0]),n(t.p))},K:function(t){return 4===t.i?r(t):e(t)}})}();const bt={setBaseUrl:(t,n)=>{t.baseUrl=n.payload},setApiIntegrationIdentifier:(t,n)=>{t.apiIntegrationIdentifier=n.payload},setMapId:(t,n)=>{t.mapId=n.payload},setTocId:(t,n)=>{t.tocId=n.payload},setMap:(t,n)=>{t.map=n.payload},setToc:(t,n)=>{t.toc=n.payload},setCurrentPage:(t,n)=>{t.currentPage=n.payload},setScrollTarget:(t,n)=>{t.scrollTarget=n.payload},setVisibleTopics:(t,n)=>{t.visibleTopics=n.payload}};class yt{convertNodes(t){var n,r,e,i;const o={},u=new Set,c=new Set,a=[],s=(t,n,r)=>t.map((t=>{var e;t.page&&a.push(t.tocId);let i=null===(e=t.prettyUrl)||void 0===e?void 0:e.replace(/^\//,"");const f={...t,prettyUrl:i,depth:n,parentTocId:r,children:s(t.children,n+1,t.tocId)};return i&&(u.has(i)&&c.add(i),u.add(i)),o[t.tocId]=f,f})),f=s(null!=t?t:[],1),l=this.buildPages(a,o);let d={};return 0===l.length?l.push({number:1,title:null!==(r=null===(n=f[0])||void 0===n?void 0:n.title)&&void 0!==r?r:"",rootTocId:null!==(i=null===(e=f[0])||void 0===e?void 0:e.tocId)&&void 0!==i?i:"root",toc:[],topics:this.tocIds(f),hiddenTopics:[]}):d=this.indexPages(l),{toc:f,nodeByTocId:o,duplicatedPrettyUrls:c,pages:l,pageByTocId:d}}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildPages(t,n){const r=t=>t.parentTocId?[...r(n[t.parentTocId]),t.parentTocId]:[];return t.map((t=>n[t])).map(((t,n)=>{var e,i,o,u,c;const a={number:n+1,title:t.title,rootTocId:t.tocId,toc:(null===(e=t.page)||void 0===e?void 0:e.onItsOwn)?[]:t.children,topics:[],hiddenTopics:[]},s=(t,n)=>(n?a.topics:a.hiddenTopics).push(t),f=null!==(o=null===(i=t.page)||void 0===i?void 0:i.parentsVisibility)&&void 0!==o?o:[];return r(t).forEach(((t,n)=>{s(t,f[n])})),s(t.tocId,null===(u=t.page)||void 0===u?void 0:u.visible),(null===(c=t.page)||void 0===c?void 0:c.onItsOwn)||a.topics.push(...this.tocIds(t.children)),a}))}indexPages(t){const n={};for(let r of t)for(let t of[...r.topics,...r.hiddenTopics])n[t]||(n[t]=r);return n}}class wt{constructor(t,n,r,e){this.converter=t,this.api=n,this.baseUrl=r,this.mapId=e,this.topics={},this.topicContents={},r.endsWith("/")||(this.baseUrl=r+"/")}static build(t,n,r){if(null==window.fluidtopics)throw console.error("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api"),new Error("Fluid Topics public API not found");return new wt(new yt,new window.fluidtopics.FluidTopicsApi(t,n,!0),t,r)}clear(){this.map=void 0,this.enrichedToc=void 0,this.topics={},this.topicContents={}}getMap(){return this.loadIfNeeded((()=>this.map),(t=>this.map=t),(()=>this.api.getMap(this.mapId)))}getEnrichedToc(){return this.loadIfNeeded((()=>this.enrichedToc),(t=>this.enrichedToc=t),(()=>this.api.getTableOfContent(this.mapId).then((t=>this.converter.convertNodes(t)))))}async getToc(){return(await this.getEnrichedToc()).toc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}async getPage(t){const n=await this.getEnrichedToc();return n.pages[t-1]||n.pages[0]}async getPageByTocId(t){const n=await this.getEnrichedToc();return n.pageByTocId[t]||n.pages[0]}getTopicInfo(t){return this.loadIfNeeded((()=>this.topics[t]),(n=>this.topics[t]=n),(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.loadIfNeeded((()=>this.topicContents[t]),(n=>this.topicContents[t]=n),(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,n,r){var e;t=t||"root";let i=this.enrichedToc,o=null===(e=null==i?void 0:i.nodeByTocId[t])||void 0===e?void 0:e.prettyUrl,u=o||`r/${this.mapId}/${t}`,c=new URL(u,this.baseUrl),a=null==i?void 0:i.pageByTocId[t];return n&&a&&a.number!==n&&c.searchParams.set("page",`${n}`),o&&(null==i?void 0:i.duplicatedPrettyUrls.has(o))&&c.searchParams.set("tocId",t),r&&c.searchParams.set("section",r),c.href}async loadIfNeeded(t,r,e){for(void 0===t()&&(r(!0),r(await e().catch((t=>(console.error(t),!1)))));!0===t();)await n.delay(10);const i=t();if(!1===i)throw new Error("Could not load data");return i}}class mt{constructor(t,r){this.store=t,this.slice=r,this.reloadDebouncer=new n.Debouncer(10)}static build(t){const r=(t=>ht({name:"ft-reader-"+t,initialState:{baseUrl:"",apiIntegrationIdentifier:"ft-reader",visibleTopics:[]},reducers:bt}))(t.trim()||"context");return new mt(n.getStore(r),r)}setBaseUrl(t){this.setRequiredStateField("baseUrl","setBaseUrl",t)}setApiIntegrationIdentifier(t){this.setRequiredStateField("apiIntegrationIdentifier","setApiIntegrationIdentifier",t)}setMapId(t){this.setRequiredStateField("mapId","setMapId",t)}setVisibleTopics(t){this.dispatch(this.slice.actions.setVisibleTopics(t))}async navigateToTopic(t,r,e){for(;null===this.service;)await n.delay(5);let i=null!=e?await this.service.getPage(e):await this.service.getPageByTocId(t);console.log(e,i),this.dispatch(this.slice.actions.setCurrentPage(i),this.slice.actions.setScrollTarget({tocId:t,section:r}))}async navigateToPage(t){for(;null===this.service;)await n.delay(5);let r=await this.service.getPage(t);this.dispatch(this.slice.actions.setCurrentPage(r))}scrollDone(){this.dispatch(this.slice.actions.setScrollTarget({}))}setRequiredStateField(t,n,r){this.store.getState()[t]!==r&&(this.dispatch(this.slice.actions[n](r)),this.clearAll(),this.reload())}clearAll(){this.dispatch(this.slice.actions.setMap(void 0),this.slice.actions.setToc(void 0),this.slice.actions.setCurrentPage(void 0))}reload(){const t=this.store.getState();t.baseUrl&&t.apiIntegrationIdentifier&&t.mapId?this.service=wt.build(t.baseUrl,t.apiIntegrationIdentifier,t.mapId):this.service=void 0,this.reloadDebouncer.run((async()=>{this.reloadMap(),this.reloadToc()}))}async reloadMap(){var t;const n=await(null===(t=this.service)||void 0===t?void 0:t.getMap());this.dispatch(this.slice.actions.setMap(n))}async reloadToc(){var t;const n=await(null===(t=this.service)||void 0===t?void 0:t.getToc());this.dispatch(this.slice.actions.setToc(n))}dispatch(...t){for(let n of t)this.store.dispatch(n)}}var gt=function(t,n,r,e){for(var i,o=arguments.length,u=o<3?n:null===e?e=Object.getOwnPropertyDescriptor(n,r):e,c=t.length-1;c>=0;c--)(i=t[c])&&(u=(o<3?i(u):o>3?i(n,r,u):i(n,r))||u);return o>3&&u&&Object.defineProperty(n,r,u),u};class jt extends CustomEvent{constructor(t){super("ft-reader-map-loaded",{detail:t})}}class It extends CustomEvent{constructor(t,n){super("ft-reader-visible-topics-change",{detail:{map:t,visibleTopics:n}})}}class Ot extends n.FtLitElementRedux{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-reader",this.visibleTopics=[]}render(){return r.html`
|
|
1
|
+
!function(t,r,n,e){function i(t){for(var r=arguments.length,n=Array(r>1?r-1:0),e=1;e<r;e++)n[e-1]=arguments[e];throw Error("[Immer] minified error nr: "+t+(n.length?" "+n.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function o(t){return!!t&&!!t[V]}function u(t){return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var r=Object.getPrototypeOf(t);if(null===r)return!0;var n=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===J}(t)||Array.isArray(t)||!!t[q]||!!t.constructor[q]||d(t)||v(t))}function s(t,r,n){void 0===n&&(n=!1),0===a(t)?(n?Object.keys:W)(t).forEach((function(e){n&&"symbol"==typeof e||r(e,t[e],t)})):t.forEach((function(n,e){return r(e,n,t)}))}function a(t){var r=t[V];return r?r.i>3?r.i-4:r.i:Array.isArray(t)?1:d(t)?2:v(t)?3:0}function c(t,r){return 2===a(t)?t.has(r):Object.prototype.hasOwnProperty.call(t,r)}function f(t,r,n){var e=a(t);2===e?t.set(r,n):3===e?(t.delete(r),t.add(n)):t[r]=n}function l(t,r){return t===r?0!==t||1/t==1/r:t!=t&&r!=r}function d(t){return L&&t instanceof Map}function v(t){return $&&t instanceof Set}function h(t){return t.o||t.t}function p(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var r=X(t);delete r[V];for(var n=W(r),e=0;e<n.length;e++){var i=n[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),r)}function b(t,r){return void 0===r&&(r=!1),w(t)||o(t)||!u(t)||(a(t)>1&&(t.set=t.add=t.clear=t.delete=y),Object.freeze(t),r&&s(t,(function(t,r){return b(r,!0)}),!0)),t}function y(){i(2)}function w(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function m(t){var r=Y[t];return r||i(18,t),r}function g(){return F}function j(t,r){r&&(m("Patches"),t.u=[],t.s=[],t.v=r)}function I(t){O(t),t.p.forEach(A),t.p=null}function O(t){t===F&&(F=t.l)}function T(t){return F={p:[],l:F,h:t,m:!0,_:0}}function A(t){var r=t[V];0===r.i||1===r.i?r.j():r.O=!0}function P(t,r){r._=r.p.length;var n=r.p[0],e=void 0!==t&&t!==n;return r.h.g||m("ES5").S(r,t,e),e?(n[V].P&&(I(r),i(4)),u(t)&&(t=S(r,t),r.l||M(r,t)),r.u&&m("Patches").M(n[V].t,t,r.u,r.s)):t=S(r,n,[]),I(r),r.u&&r.v(r.u,r.s),t!==K?t:void 0}function S(t,r,n){if(w(r))return r;var e=r[V];if(!e)return s(r,(function(i,o){return E(t,e,r,i,o,n)}),!0),r;if(e.A!==t)return r;if(!e.P)return M(t,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var i=4===e.i||5===e.i?e.o=p(e.k):e.o;s(3===e.i?new Set(i):i,(function(r,o){return E(t,e,i,r,o,n)})),M(t,i,!1),n&&t.u&&m("Patches").R(e,n,t.u,t.s)}return e.o}function E(t,r,n,e,i,s){if(o(i)){var a=S(t,i,s&&r&&3!==r.i&&!c(r.D,e)?s.concat(e):void 0);if(f(n,e,a),!o(a))return;t.m=!1}if(u(i)&&!w(i)){if(!t.h.F&&t._<1)return;S(t,i),r&&r.A.l||M(t,i)}}function M(t,r,n){void 0===n&&(n=!1),t.h.F&&t.m&&b(r,n)}function R(t,r){var n=t[V];return(n?h(n):t)[r]}function C(t,r){if(r in t)for(var n=Object.getPrototypeOf(t);n;){var e=Object.getOwnPropertyDescriptor(n,r);if(e)return e;n=Object.getPrototypeOf(n)}}function U(t){t.P||(t.P=!0,t.l&&U(t.l))}function _(t){t.o||(t.o=p(t.t))}function N(t,r,n){var e=d(r)?m("MapSet").N(r,n):v(r)?m("MapSet").T(r,n):t.g?function(t,r){var n=Array.isArray(t),e={i:n?1:0,A:r?r.A:g(),P:!1,I:!1,D:{},l:r,t,k:null,o:null,j:null,C:!1},i=e,o=z;n&&(i=[e],o=H);var u=Proxy.revocable(i,o),s=u.revoke,a=u.proxy;return e.k=a,e.j=s,a}(r,n):m("ES5").J(r,n);return(n?n.A:g()).p.push(e),e}function x(t){return o(t)||i(22,t),function t(r){if(!u(r))return r;var n,e=r[V],i=a(r);if(e){if(!e.P&&(e.i<4||!m("ES5").K(e)))return e.t;e.I=!0,n=B(r,i),e.I=!1}else n=B(r,i);return s(n,(function(r,i){e&&function(t,r){return 2===a(t)?t.get(r):t[r]}(e.t,r)===i||f(n,r,t(i))})),3===i?new Set(n):n}(t)}function B(t,r){switch(r){case 2:return new Map(t);case 3:return Array.from(t)}return p(t)}var D,F,k="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),L="undefined"!=typeof Map,$="undefined"!=typeof Set,G="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,K=k?Symbol.for("immer-nothing"):((D={})["immer-nothing"]=!0,D),q=k?Symbol.for("immer-draftable"):"__$immer_draftable",V=k?Symbol.for("immer-state"):"__$immer_state",J=""+Object.prototype.constructor,W="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,X=Object.getOwnPropertyDescriptors||function(t){var r={};return W(t).forEach((function(n){r[n]=Object.getOwnPropertyDescriptor(t,n)})),r},Y={},z={get:function(t,r){if(r===V)return t;var n=h(t);if(!c(n,r))return function(t,r,n){var e,i=C(r,n);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(t.k):void 0}(t,n,r);var e=n[r];return t.I||!u(e)?e:e===R(t.t,r)?(_(t),t.o[r]=N(t.A.h,e,t)):e},has:function(t,r){return r in h(t)},ownKeys:function(t){return Reflect.ownKeys(h(t))},set:function(t,r,n){var e=C(h(t),r);if(null==e?void 0:e.set)return e.set.call(t.k,n),!0;if(!t.P){var i=R(h(t),r),o=null==i?void 0:i[V];if(o&&o.t===n)return t.o[r]=n,t.D[r]=!1,!0;if(l(n,i)&&(void 0!==n||c(t.t,r)))return!0;_(t),U(t)}return t.o[r]===n&&"number"!=typeof n&&(void 0!==n||r in t.o)||(t.o[r]=n,t.D[r]=!0,!0)},deleteProperty:function(t,r){return void 0!==R(t.t,r)||r in t.t?(t.D[r]=!1,_(t),U(t)):delete t.D[r],t.o&&delete t.o[r],!0},getOwnPropertyDescriptor:function(t,r){var n=h(t),e=Reflect.getOwnPropertyDescriptor(n,r);return e?{writable:!0,configurable:1!==t.i||"length"!==r,enumerable:e.enumerable,value:n[r]}:e},defineProperty:function(){i(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){i(12)}},H={};s(z,(function(t,r){H[t]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}})),H.deleteProperty=function(t,r){return H.set.call(this,t,r,void 0)},H.set=function(t,r,n){return z.set.call(this,t[0],r,n,t[0])};var Q=function(){function t(t){var r=this;this.g=G,this.F=!0,this.produce=function(t,n,e){if("function"==typeof t&&"function"!=typeof n){var o=n;n=t;var s=r;return function(t){var r=this;void 0===t&&(t=o);for(var e=arguments.length,i=Array(e>1?e-1:0),u=1;u<e;u++)i[u-1]=arguments[u];return s.produce(t,(function(t){var e;return(e=n).call.apply(e,[r,t].concat(i))}))}}var a;if("function"!=typeof n&&i(6),void 0!==e&&"function"!=typeof e&&i(7),u(t)){var c=T(r),f=N(r,t,void 0),l=!0;try{a=n(f),l=!1}finally{l?I(c):O(c)}return"undefined"!=typeof Promise&&a instanceof Promise?a.then((function(t){return j(c,e),P(t,c)}),(function(t){throw I(c),t})):(j(c,e),P(a,c))}if(!t||"object"!=typeof t){if(void 0===(a=n(t))&&(a=t),a===K&&(a=void 0),r.F&&b(a,!0),e){var d=[],v=[];m("Patches").M(t,a,d,v),e(d,v)}return a}i(21,t)},this.produceWithPatches=function(t,n){if("function"==typeof t)return function(n){for(var e=arguments.length,i=Array(e>1?e-1:0),o=1;o<e;o++)i[o-1]=arguments[o];return r.produceWithPatches(n,(function(r){return t.apply(void 0,[r].concat(i))}))};var e,i,o=r.produce(t,n,(function(t,r){e=t,i=r}));return"undefined"!=typeof Promise&&o instanceof Promise?o.then((function(t){return[t,e,i]})):[o,e,i]},"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 r=t.prototype;return r.createDraft=function(t){u(t)||i(8),o(t)&&(t=x(t));var r=T(this),n=N(this,t,void 0);return n[V].C=!0,O(r),n},r.finishDraft=function(t,r){var n=(t&&t[V]).A;return j(n,r),P(void 0,n)},r.setAutoFreeze=function(t){this.F=t},r.setUseProxies=function(t){t&&!G&&i(20),this.g=t},r.applyPatches=function(t,r){var n;for(n=r.length-1;n>=0;n--){var e=r[n];if(0===e.path.length&&"replace"===e.op){t=e.value;break}}n>-1&&(r=r.slice(n+1));var i=m("Patches").$;return o(t)?i(t,r):this.produce(t,(function(t){return i(t,r)}))},t}(),Z=new Q,tt=Z.produce;Z.produceWithPatches.bind(Z),Z.setAutoFreeze.bind(Z),Z.setUseProxies.bind(Z),Z.applyPatches.bind(Z),Z.createDraft.bind(Z),Z.finishDraft.bind(Z);var rt,nt=tt,et=(rt=function(t,r){return rt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])},rt(t,r)},function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}rt(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}),it=function(t,r){for(var n=0,e=r.length,i=t.length;n<e;n++,i++)t[i]=r[n];return t},ot=Object.defineProperty,ut=Object.getOwnPropertySymbols,st=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,ct=function(t,r,n){return r in t?ot(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n},ft=function(t,r){for(var n in r||(r={}))st.call(r,n)&&ct(t,n,r[n]);if(ut)for(var e=0,i=ut(r);e<i.length;e++){n=i[e];at.call(r,n)&&ct(t,n,r[n])}return t};function lt(t){return u(t)?nt(t,(function(){})):t}function dt(t,r){function n(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if(r){var i=r.apply(void 0,n);if(!i)throw new Error("prepareAction did not return an object");return ft(ft({type:t,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:t,payload:n[0]}}return n.toString=function(){return""+t},n.type=t,n.match=function(r){return r.type===t},n}function vt(t){var r,n={},e=[],i={addCase:function(t,r){var e="string"==typeof t?t:t.type;if(e in n)throw new Error("addCase cannot be called with two reducers for the same action type");return n[e]=r,i},addMatcher:function(t,r){return e.push({matcher:t,reducer:r}),i},addDefaultCase:function(t){return r=t,i}};return t(i),[n,e,r]}function ht(t){var r=t.name;if(!r)throw new Error("`name` is a required option for createSlice");var n,e="function"==typeof t.initialState?t.initialState:lt(t.initialState),i=t.reducers||{},s=Object.keys(i),a={},c={},f={};function l(){var r="function"==typeof t.extraReducers?vt(t.extraReducers):[t.extraReducers],n=r[0],i=void 0===n?{}:n,s=r[1],a=void 0===s?[]:s,f=r[2],l=void 0===f?void 0:f,d=ft(ft({},i),c);return function(t,r,n,e){void 0===n&&(n=[]);var i,s="function"==typeof r?vt(r):[r,n,e],a=s[0],c=s[1],f=s[2];if(function(t){return"function"==typeof t}(t))i=function(){return lt(t())};else{var l=lt(t);i=function(){return l}}function d(t,r){void 0===t&&(t=i());var n=it([a[r.type]],c.filter((function(t){return(0,t.matcher)(r)})).map((function(t){return t.reducer})));return 0===n.filter((function(t){return!!t})).length&&(n=[f]),n.reduce((function(t,n){if(n){var e;if(o(t))return void 0===(e=n(t,r))?t:e;if(u(t))return nt(t,(function(t){return n(t,r)}));if(void 0===(e=n(t,r))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return e}return t}),t)}return d.getInitialState=i,d}(e,d,a,l)}return s.forEach((function(t){var n,e,o=i[t],u=r+"/"+t;"reducer"in o?(n=o.reducer,e=o.prepare):n=o,a[t]=n,c[u]=n,f[t]=e?dt(u,e):dt(u)})),{name:r,reducer:function(t,r){return n||(n=l()),n(t,r)},actions:f,caseReducers:a,getInitialState:function(){return n||(n=l()),n.getInitialState()}}}!function(t){function r(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var i=t.apply(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}et(r,t),Object.defineProperty(r,Symbol.species,{get:function(){return r},enumerable:!1,configurable:!0}),r.prototype.concat=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return t.prototype.concat.apply(this,r)},r.prototype.prepend=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return 1===t.length&&Array.isArray(t[0])?new(r.bind.apply(r,it([void 0],t[0].concat(this)))):new(r.bind.apply(r,it([void 0],t.concat(this))))}}(Array);var pt="listenerMiddleware";dt(pt+"/add"),dt(pt+"/removeAll"),dt(pt+"/remove"),function(){function t(t,r){var n=i[t];return n?n.enumerable=r:i[t]=n={configurable:!0,enumerable:r,get:function(){var r=this[V];return z.get(r,t)},set:function(r){var n=this[V];z.set(n,t,r)}},n}function r(t){for(var r=t.length-1;r>=0;r--){var i=t[r][V];if(!i.P)switch(i.i){case 5:e(i)&&U(i);break;case 4:n(i)&&U(i)}}}function n(t){for(var r=t.t,n=t.k,e=W(n),i=e.length-1;i>=0;i--){var o=e[i];if(o!==V){var u=r[o];if(void 0===u&&!c(r,o))return!0;var s=n[o],a=s&&s[V];if(a?a.t!==u:!l(s,u))return!0}}var f=!!r[V];return e.length!==W(r).length+(f?0:1)}function e(t){var r=t.k;if(r.length!==t.t.length)return!0;var n=Object.getOwnPropertyDescriptor(r,r.length-1);if(n&&!n.get)return!0;for(var e=0;e<r.length;e++)if(!r.hasOwnProperty(e))return!0;return!1}var i={};!function(t,r){Y[t]||(Y[t]=r)}("ES5",{J:function(r,n){var e=Array.isArray(r),i=function(r,n){if(r){for(var e=Array(n.length),i=0;i<n.length;i++)Object.defineProperty(e,""+i,t(i,!0));return e}var o=X(n);delete o[V];for(var u=W(o),s=0;s<u.length;s++){var a=u[s];o[a]=t(a,r||!!o[a].enumerable)}return Object.create(Object.getPrototypeOf(n),o)}(e,r),o={i:e?5:4,A:n?n.A:g(),P:!1,I:!1,D:{},l:n,t:r,k:i,o:null,O:!1,C:!1};return Object.defineProperty(i,V,{value:o,writable:!0}),i},S:function(t,n,i){i?o(n)&&n[V].A===t&&r(t.p):(t.u&&function t(r){if(r&&"object"==typeof r){var n=r[V];if(n){var i=n.t,o=n.k,u=n.D,a=n.i;if(4===a)s(o,(function(r){r!==V&&(void 0!==i[r]||c(i,r)?u[r]||t(o[r]):(u[r]=!0,U(n)))})),s(i,(function(t){void 0!==o[t]||c(o,t)||(u[t]=!1,U(n))}));else if(5===a){if(e(n)&&(U(n),u.length=!0),o.length<i.length)for(var f=o.length;f<i.length;f++)u[f]=!1;else for(var l=i.length;l<o.length;l++)u[l]=!0;for(var d=Math.min(o.length,i.length),v=0;v<d;v++)o.hasOwnProperty(v)||(u[v]=!0),void 0===u[v]&&t(o[v])}}}}(t.p[0]),r(t.p))},K:function(t){return 4===t.i?n(t):e(t)}})}();const bt={setBaseUrl:(t,r)=>{t.baseUrl=r.payload},setApiIntegrationIdentifier:(t,r)=>{t.apiIntegrationIdentifier=r.payload},setMapId:(t,r)=>{t.mapId=r.payload},setTocId:(t,r)=>{t.tocId=r.payload},setMap:(t,r)=>{t.map=r.payload},setToc:(t,r)=>{t.toc=r.payload},setCurrentPage:(t,r)=>{t.currentPage=r.payload},setScrollTarget:(t,r)=>{t.scrollTarget=r.payload},setVisibleTopics:(t,r)=>{t.visibleTopics=r.payload},setRenderBeforeFirst:(t,r)=>{t.renderBeforeFirst=r.payload},setRenderAfterLast:(t,r)=>{t.renderAfterLast=r.payload}};class yt{convertNodes(t){var r,n,e,i;const o={},u=new Set,s=new Set,a=[],c=(t,r,n)=>t.map((t=>{var e;t.page&&a.push(t.tocId);let i=null===(e=t.prettyUrl)||void 0===e?void 0:e.replace(/^\//,"");const f={...t,prettyUrl:i,depth:r,parentTocId:n,children:c(t.children,r+1,t.tocId)};return i&&(u.has(i)&&s.add(i),u.add(i)),o[t.tocId]=f,f})),f=c(null!=t?t:[],1),l=this.buildPages(a,o);let d={};return 0===l.length?l.push({number:1,title:null!==(n=null===(r=f[0])||void 0===r?void 0:r.title)&&void 0!==n?n:"",rootTocId:null!==(i=null===(e=f[0])||void 0===e?void 0:e.tocId)&&void 0!==i?i:"root",toc:[],topics:this.tocIds(f),hiddenTopics:[]}):d=this.indexPages(l),{toc:f,nodeByTocId:o,duplicatedPrettyUrls:s,pages:l,pageByTocId:d}}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildPages(t,r){return t.map((t=>r[t])).map(((t,n)=>{var e,i,o,u,s;const a={number:n+1,title:t.title,rootTocId:t.tocId,toc:(null===(e=t.page)||void 0===e?void 0:e.onItsOwn)?[]:t.children,topics:[],hiddenTopics:[]},c=(t,r)=>(r?a.topics:a.hiddenTopics).push(t),f=null!==(o=null===(i=t.page)||void 0===i?void 0:i.parentsVisibility)&&void 0!==o?o:[];return this.buildBreadcrumb(t,r).forEach(((t,r)=>{c(t,f[r])})),c(t.tocId,null===(u=t.page)||void 0===u?void 0:u.visible),(null===(s=t.page)||void 0===s?void 0:s.onItsOwn)||a.topics.push(...this.tocIds(t.children)),a}))}buildBreadcrumb(t,r){const n=[];for(;null==t?void 0:t.parentTocId;)n.unshift(t.parentTocId),t=r[t.parentTocId];return n}indexPages(t){const r={};for(let n of t)for(let t of[...n.topics,...n.hiddenTopics])r[t]||(r[t]=n);return r}}class wt{constructor(t,r,n,e){this.converter=t,this.api=r,this.baseUrl=n,this.mapId=e,this.topics={},this.topicContents={},n.endsWith("/")||(this.baseUrl=n+"/")}static build(t,r,n){if(null==window.fluidtopics)throw console.error("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api"),new Error("Fluid Topics public API not found");return new wt(new yt,new window.fluidtopics.FluidTopicsApi(t,r,!0),t,n)}clear(){this.map=void 0,this.enrichedToc=void 0,this.topics={},this.topicContents={}}getMap(){return this.loadIfNeeded((()=>this.map),(t=>this.map=t),(()=>this.api.getMap(this.mapId)))}getEnrichedToc(){return this.loadIfNeeded((()=>this.enrichedToc),(t=>this.enrichedToc=t),(()=>this.api.getTableOfContent(this.mapId).then((t=>this.converter.convertNodes(t)))))}async getToc(){return(await this.getEnrichedToc()).toc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeOrThrow(t){if("boolean"==typeof this.enrichedToc)throw new Error((this.enrichedToc," still loading"));return this.enrichedToc.nodeByTocId[t]}async getPage(t){const r=await this.getEnrichedToc();return r.pages[t-1]||r.pages[0]}async getPageByTocId(t){const r=await this.getEnrichedToc();return r.pageByTocId[t]||r.pages[0]}getTopicInfo(t){return this.loadIfNeeded((()=>this.topics[t]),(r=>this.topics[t]=r),(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.loadIfNeeded((()=>this.topicContents[t]),(r=>this.topicContents[t]=r),(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,r,n){const e=this.getNavigationData(t,r,n),i="r/"+(e.prettyUrl?e.prettyUrl:`${e.mapId}/${e.tocId}`),o=new URL(i,this.baseUrl);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,r,n){var e,i;t=t||"root";const o="object"==typeof this.enrichedToc?this.enrichedToc:void 0,u=null==o?void 0:o.pageByTocId[t],s=null==o?void 0:o.nodeByTocId[t],a=null==s?void 0:s.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(e=null==s?void 0:s.title)&&void 0!==e?e:"",page:r&&u&&u.number!==r?r:void 0,prettyUrl:null!=a?a.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(i=null==o?void 0:o.duplicatedPrettyUrls.has(null!=a?a:""))&&void 0!==i&&i,section:n}}async getAccurateNavigationData(t,r,n){return await this.getEnrichedToc(),this.getNavigationData(t,r,n)}async loadIfNeeded(t,n,e){for(void 0===t()&&(n(!0),n(await e().catch((t=>(console.error(t),!1)))));!0===t();)await r.delay(10);const i=t();if(!1===i)throw new Error("Could not load data");return i}}class mt{constructor(t,n){this.store=t,this.slice=n,this.reloadDebouncer=new r.Debouncer(10)}static build(t){const n=(t=>ht({name:"ft-reader-"+t,initialState:{baseUrl:"",apiIntegrationIdentifier:"ft-reader",visibleTopics:[],renderBeforeFirst:2,renderAfterLast:3},reducers:bt}))(t.trim()||"context");return new mt(r.getStore(n),n)}setBaseUrl(t){this.setRequiredStateField("baseUrl","setBaseUrl",t)}setApiIntegrationIdentifier(t){this.setRequiredStateField("apiIntegrationIdentifier","setApiIntegrationIdentifier",t)}setMapId(t){this.setRequiredStateField("mapId","setMapId",t)}setRenderBeforeFirst(t){this.dispatch(this.slice.actions.setRenderBeforeFirst(t))}setRenderAfterLast(t){this.dispatch(this.slice.actions.setRenderAfterLast(t))}setVisibleTopics(t){this.dispatch(this.slice.actions.setVisibleTopics(t))}async navigateToTopic(t,n,e){for(;null==this.service;)await r.delay(5);let i=null!=e?await this.service.getPage(e):await this.service.getPageByTocId(t);this.dispatch(this.slice.actions.setCurrentPage(i),this.slice.actions.setScrollTarget({tocId:t,section:n}))}async navigateToPage(t){for(;null==this.service;)await r.delay(5);let n=await this.service.getPage(t);this.dispatch(this.slice.actions.setCurrentPage(n))}scrollDone(){this.dispatch(this.slice.actions.setScrollTarget({}))}setRequiredStateField(t,r,n){this.store.getState()[t]!==n&&(this.dispatch(this.slice.actions[r](n)),this.clearAll(),this.reload())}clearAll(){this.dispatch(this.slice.actions.setMap(void 0),this.slice.actions.setToc(void 0),this.slice.actions.setCurrentPage(void 0))}reload(){const t=this.store.getState();t.baseUrl&&t.apiIntegrationIdentifier&&t.mapId?this.service=wt.build(t.baseUrl,t.apiIntegrationIdentifier,t.mapId):this.service=void 0,this.reloadDebouncer.run((async()=>{this.reloadMap(),this.reloadToc()}))}async reloadMap(){var t;const r=await(null===(t=this.service)||void 0===t?void 0:t.getMap());this.dispatch(this.slice.actions.setMap(r))}async reloadToc(){var t;const r=await(null===(t=this.service)||void 0===t?void 0:t.getToc());this.dispatch(this.slice.actions.setToc(r))}dispatch(...t){for(let r of t)this.store.dispatch(r)}}var gt=function(t,r,n,e){for(var i,o=arguments.length,u=o<3?r:null===e?e=Object.getOwnPropertyDescriptor(r,n):e,s=t.length-1;s>=0;s--)(i=t[s])&&(u=(o<3?i(u):o>3?i(r,n,u):i(r,n))||u);return o>3&&u&&Object.defineProperty(r,n,u),u};class jt extends CustomEvent{constructor(t,r){super("ft-reader-map-loaded",{detail:{map:t,toc:r}})}}class It extends CustomEvent{constructor(t,r){super("ft-reader-visible-topics-change",{detail:{visibleTopics:r}})}}class Ot extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}const Tt=t=>r=>+(null!=r?r:"NaN")>0?+r:t;class At extends r.FtLitElementRedux{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-reader",this.renderBeforeFirst=2,this.renderAfterLast=3,this.visibleTopics=[],this.navigationDebouncer=new r.Debouncer(5)}render(){return n.html`
|
|
2
2
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
3
|
-
`}get stateManager(){return null==this._stateManager&&(this._stateManager=mt.build(this.id||""+Math.round(
|
|
4
|
-
`,gt([e.property()],
|
|
3
|
+
`}get stateManager(){return null==this._stateManager&&(this._stateManager=mt.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),this.store=this.stateManager.store),this._stateManager}updated(t){super.updated(t),t.has("baseUrl")&&this.baseUrl&&this.stateManager.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&this.stateManager.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("mapId")&&this.mapId&&(this.stateManager.setMapId(this.mapId),this.stateManager.navigateToTopic("root")),t.has("page")&&!this.tocId&&null!=this.page&&this.stateManager.navigateToPage(this.page),(t.has("tocId")||t.has("section")||t.has("page"))&&this.tocId&&this.stateManager.navigateToTopic(this.tocId,this.section,this.page),t.has("renderBeforeFirst")&&this.stateManager.setRenderBeforeFirst(this.renderBeforeFirst),t.has("renderAfterLast")&&this.stateManager.setRenderAfterLast(this.renderAfterLast)}contentAvailableCallback(t){var r;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new jt(this.map,this.toc)),t.has("scrollTarget")&&null==(null===(r=this.scrollTarget)||void 0===r?void 0:r.tocId)){const r=t.get("scrollTarget");null!=(null==r?void 0:r.tocId)&&this.navigationDebouncer.run((()=>this.stateManager.service.getAccurateNavigationData(r.tocId,this.currentPageNumber,r.section).then((t=>this.dispatchEvent(new Ot(t))))))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>this.stateManager.service.getAccurateNavigationData(t,this.currentPageNumber)))).then((t=>{let r=t.filter((t=>null!=t&&""!==t.topicTitle)).map((t=>({tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated})));this.dispatchEvent(new It(this.map,r))}))}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();t.composedPath()[0].setReaderStateManager(this.stateManager)}}At.styles=n.css`
|
|
4
|
+
`,gt([e.property()],At.prototype,"baseUrl",void 0),gt([e.property()],At.prototype,"apiIntegrationIdentifier",void 0),gt([e.property()],At.prototype,"mapId",void 0),gt([e.property()],At.prototype,"tocId",void 0),gt([e.property()],At.prototype,"section",void 0),gt([e.property({type:Number,converter:{fromAttribute:Tt()}})],At.prototype,"page",void 0),gt([e.property({type:Number,converter:{fromAttribute:Tt(2)}})],At.prototype,"renderBeforeFirst",void 0),gt([e.property({type:Number,converter:{fromAttribute:Tt(3)}})],At.prototype,"renderAfterLast",void 0),gt([r.redux()],At.prototype,"map",void 0),gt([r.redux()],At.prototype,"toc",void 0),gt([r.redux()],At.prototype,"visibleTopics",void 0),gt([r.redux((t=>{var r;return null===(r=t.currentPage)||void 0===r?void 0:r.number}))],At.prototype,"currentPageNumber",void 0),gt([r.redux()],At.prototype,"scrollTarget",void 0),r.customElement("ft-reader-context")(At),t.FtReaderContext=At,t.MapLoadedEvent=jt,t.NavigationDoneEvent=Ot,t.VisibleTopicsChangeEvent=It,Object.defineProperty(t,"U",{value:!0})}({},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,u=new WeakMap;let
|
|
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||[]);h(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=f(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){return this._definitionsByTag.get(t)?.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},f=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(){r.get(this)?.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)}},h=(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 w=(t,e,i)=>{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}};w(ShadowRoot,"createElement",document),w(ShadowRoot,"importNode",document),w(Element,"insertAdjacentHTML");const y=(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(y(Element,"innerHTML"),y(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 e=window.customElements.define;window.customElements.define=(t,i,n)=>{try{e.bind(window.customElements)(t,i,n)}catch(e){console.warn(t,i,n,e)}}}class e{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,e){this.callbacks=[t],this.debounce(e)}queue(t,e){this.callbacks.push(t),this.debounce(e)}cancel(){null!=this._debounce&&window.clearTimeout(this._debounce)}debounce(t){this.cancel(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout)}runCallbacks(){for(let t of this.callbacks)t();this.callbacks=[]}}
|
|
18
18
|
/**
|
|
19
19
|
* @license
|
|
20
20
|
* Copyright 2017 Google LLC
|
|
@@ -29,7 +29,7 @@ if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,e=window.cust
|
|
|
29
29
|
* @license
|
|
30
30
|
* Copyright 2019 Google LLC
|
|
31
31
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
32
|
-
*/,u=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,
|
|
32
|
+
*/,u=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),c=new WeakMap;class l{constructor(t,e,i){if(this._$cssResult$=!0,i!==a)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(u&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=c.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&c.set(e,t))}return t}toString(){return this.cssText}}const f=t=>new l("string"==typeof t?t:t+"",void 0,a),h=(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 l(i,t,a)},d=(t,e)=>{u?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),n=window.litNonce;void 0!==n&&i.setAttribute("nonce",n),i.textContent=e.cssText,t.appendChild(i)}))},v=u?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return f(e)})(t):t
|
|
33
33
|
/**
|
|
34
34
|
* @license
|
|
35
35
|
* Copyright 2017 Google LLC
|
|
@@ -40,13 +40,13 @@ if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,e=window.cust
|
|
|
40
40
|
* Copyright 2017 Google LLC
|
|
41
41
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
42
42
|
*/
|
|
43
|
-
var E;O.finalized=!0,O.elementProperties=new Map,O.elementStyles=[],O.shadowRootOptions={mode:"open"},null==y||y({ReactiveElement:O}),(null!==(p=globalThis.reactiveElementVersions)&&void 0!==p?p:globalThis.reactiveElementVersions=[]).push("1.3.4");const j=globalThis.trustedTypes,N=j?j.createPolicy("lit-html",{createHTML:t=>t}):void 0,
|
|
43
|
+
var E;O.finalized=!0,O.elementProperties=new Map,O.elementStyles=[],O.shadowRootOptions={mode:"open"},null==y||y({ReactiveElement:O}),(null!==(p=globalThis.reactiveElementVersions)&&void 0!==p?p:globalThis.reactiveElementVersions=[]).push("1.3.4");const j=globalThis.trustedTypes,N=j?j.createPolicy("lit-html",{createHTML:t=>t}):void 0,R=`lit$${(Math.random()+"").slice(9)}$`,S="?"+R,C=`<${S}>`,M=document,A=(t="")=>M.createComment(t),T=t=>null===t||"object"!=typeof t&&"function"!=typeof t,U=Array.isArray,$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,I=/-->/g,F=/>/g,k=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),P=/'/g,L=/"/g,_=/^(?:script|style|textarea|title)$/i,B=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),W=Symbol.for("lit-noChange"),D=Symbol.for("lit-nothing"),K=new WeakMap,H=M.createTreeWalker(M,129,null,!1);class z{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]=((t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"<svg>":"",s=$;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===$?"!--"===a[1]?s=I:void 0!==a[1]?s=F:void 0!==a[2]?(_.test(a[2])&&(r=RegExp("</"+a[2],"g")),s=k):void 0!==a[3]&&(s=k):s===k?">"===a[0]?(s=null!=r?r:$,c=-1):void 0===a[1]?c=-2:(c=s.lastIndex-a[2].length,u=a[1],s=void 0===a[3]?k:'"'===a[3]?L:P):s===L||s===P?s=k:s===I||s===F?s=$:(s=k,r=void 0);const f=s===k&&t[e+1].startsWith("/>")?" ":"";o+=s===$?i+C:c>=0?(n.push(u),i.slice(0,c)+"$lit$"+i.slice(c)+R+f):i+R+(-2===c?(n.push(void 0),e):f)}const u=o+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==N?N.createHTML(u):u,n]})(t,e);if(this.el=z.createElement(a,i),H.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=H.nextNode())&&u.length<s;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(R)){const i=c[o++];if(t.push(e),void 0!==i){const t=n.getAttribute(i.toLowerCase()+"$lit$").split(R),e=/([.?@])?(.*)/.exec(i);u.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?X:"?"===e[1]?Y:"@"===e[1]?Q:q})}else u.push({type:6,index:r})}for(const e of t)n.removeAttribute(e)}if(_.test(n.tagName)){const t=n.textContent.split(R),e=t.length-1;if(e>0){n.textContent=j?j.emptyScript:"";for(let i=0;i<e;i++)n.append(t[i],A()),H.nextNode(),u.push({type:2,index:++r});n.append(t[e],A())}}}else if(8===n.nodeType)if(n.data===S)u.push({type:2,index:r});else{let t=-1;for(;-1!==(t=n.data.indexOf(R,t+1));)u.push({type:7,index:r}),t+=R.length-1}r++}}static createElement(t,e){const i=M.createElement("template");return i.innerHTML=t,i}}function J(t,e,i=t,n){var r,o,s,u;if(e===W)return e;let a=void 0!==n?null===(r=i._$Cl)||void 0===r?void 0:r[n]:i._$Cu;const c=T(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)._$Cl)&&void 0!==s?s:u._$Cl=[])[n]=a:i._$Cu=a),void 0!==a&&(e=J(t,a._$AS(t,e.values),a,n)),e}class V{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:n}=this._$AD,r=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:M).importNode(i,!0);H.currentNode=r;let o=H.nextNode(),s=0,u=0,a=n[0];for(;void 0!==a;){if(s===a.index){let e;2===a.type?e=new Z(o,o.nextSibling,this,t):1===a.type?e=new a.ctor(o,a.name,a.strings,this,t):6===a.type&&(e=new tt(o,this,t)),this.v.push(e),a=n[++u]}s!==(null==a?void 0:a.index)&&(o=H.nextNode(),s++)}return r}m(t){let e=0;for(const i of this.v)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class Z{constructor(t,e,i,n){var r;this.type=2,this._$AH=D,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=n,this._$C_=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._$C_}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=J(this,t,e),T(t)?t===D||null==t||""===t?(this._$AH!==D&&this._$AR(),this._$AH=D):t!==this._$AH&&t!==W&&this.T(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.k(t):(t=>U(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.S(t):this.T(t)}j(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.j(t))}T(t){this._$AH!==D&&T(this._$AH)?this._$AA.nextSibling.data=t:this.k(M.createTextNode(t)),this._$AH=t}$(t){var e;const{values:i,_$litType$:n}=t,r="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=z.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.m(i);else{const t=new V(r,this),e=t.p(this.options);t.m(i),this.k(e),this._$AH=t}}_$AC(t){let e=K.get(t.strings);return void 0===e&&K.set(t.strings,e=new z(t)),e}S(t){U(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,n=0;for(const r of t)n===e.length?e.push(i=new Z(this.j(A()),this.j(A()),this,this.options)):i=e[n],i._$AI(r),n++;n<e.length&&(this._$AR(i&&i._$AB.nextSibling,n),e.length=n)}_$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._$C_=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class q{constructor(t,e,i,n,r){this.type=1,this._$AH=D,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=D}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=J(this,t,e,0),o=!T(t)||t!==this._$AH&&t!==W,o&&(this._$AH=t);else{const n=t;let s,u;for(t=r[0],s=0;s<r.length-1;s++)u=J(this,n[i+s],e,s),u===W&&(u=this._$AH[s]),o||(o=!T(u)||u!==this._$AH[s]),u===D?t=D:t!==D&&(t+=(null!=u?u:"")+r[s+1]),this._$AH[s]=u}o&&!n&&this.P(t)}P(t){t===D?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class X extends q{constructor(){super(...arguments),this.type=3}P(t){this.element[this.name]=t===D?void 0:t}}const G=j?j.emptyScript:"";class Y extends q{constructor(){super(...arguments),this.type=4}P(t){t&&t!==D?this.element.setAttribute(this.name,G):this.element.removeAttribute(this.name)}}class Q extends q{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=J(this,t,e,0))&&void 0!==i?i:D)===W)return;const n=this._$AH,r=t===D&&n!==D||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==D&&(n===D||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)}}class tt{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){J(this,t)}}const et=window.litHtmlPolyfillSupport;
|
|
44
44
|
/**
|
|
45
45
|
* @license
|
|
46
46
|
* Copyright 2017 Google LLC
|
|
47
47
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
48
48
|
*/
|
|
49
|
-
var it,nt;null==et||et(z,Z),(null!==(E=globalThis.litHtmlVersions)&&void 0!==E?E:globalThis.litHtmlVersions=[]).push("2.2.7");class rt extends O{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 Z(e.insertBefore(A(),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 W}}rt.finalized=!0,rt._$litElement$=!0,null===(it=globalThis.litElementHydrateSupport)||void 0===it||it.call(globalThis,{LitElement:rt});const ot=globalThis.litElementPolyfillSupport;null==ot||ot({LitElement:rt}),(null!==(nt=globalThis.litElementVersions)&&void 0!==nt?nt:globalThis.litElementVersions=[]).push("3.2.2");class st{static create(t,e,i){let n=t=>f(null!=t?t:i),r=h`var(${f(t)}, ${n(i)})`;return r.name=t,r.category=e,r.defaultValue=i,r.defaultCssValue=n,r.get=e=>h`var(${f(t)}, ${n(e)})`,r.breadcrumb=()=>[],r.lastResortDefaultValue=()=>i,r}static extend(t,e,i){let n=t=>e.get(null!=t?t:i),r=h`var(${f(t)}, ${n(i)})`;return r.name=t,r.category=e.category,r.fallbackVariable=e,r.defaultValue=i,r.defaultCssValue=n,r.get=e=>h`var(${f(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):f(null!=e?e:t.defaultValue),n=h`var(${f(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=>h`var(${f(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}}st.create("--ft-color-primary","COLOR","#2196F3"),st.create("--ft-color-primary-variant","COLOR","#1976D2"),st.create("--ft-color-secondary","COLOR","#FFCC80"),st.create("--ft-color-secondary-variant","COLOR","#F57C00"),st.create("--ft-color-surface","COLOR","#FFFFFF"),st.create("--ft-color-content","COLOR","rgba(0, 0, 0, 0.87)"),st.create("--ft-color-error","COLOR","#B00020"),st.create("--ft-color-outline","COLOR","rgba(0, 0, 0, 0.14)"),st.create("--ft-color-opacity-high","NUMBER","1"),st.create("--ft-color-opacity-medium","NUMBER","0.74"),st.create("--ft-color-opacity-disabled","NUMBER","0.38"),st.create("--ft-color-on-primary","COLOR","#FFFFFF"),st.create("--ft-color-on-primary-high","COLOR","#FFFFFF"),st.create("--ft-color-on-primary-medium","COLOR","rgba(255, 255, 255, 0.74)"),st.create("--ft-color-on-primary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),st.create("--ft-color-on-secondary","COLOR","#FFFFFF"),st.create("--ft-color-on-secondary-high","COLOR","#FFFFFF"),st.create("--ft-color-on-secondary-medium","COLOR","rgba(255, 255, 255, 0.74)"),st.create("--ft-color-on-secondary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),st.create("--ft-color-on-surface","COLOR","rgba(0, 0, 0, 0.87)"),st.create("--ft-color-on-surface-high","COLOR","rgba(0, 0, 0, 0.87)"),st.create("--ft-color-on-surface-medium","COLOR","rgba(0, 0, 0, 0.60)"),st.create("--ft-color-on-surface-disabled","COLOR","rgba(0, 0, 0, 0.38)"),st.create("--ft-opacity-content-on-surface-disabled","NUMBER","0"),st.create("--ft-opacity-content-on-surface-enable","NUMBER","0"),st.create("--ft-opacity-content-on-surface-hover","NUMBER","0.04"),st.create("--ft-opacity-content-on-surface-focused","NUMBER","0.12"),st.create("--ft-opacity-content-on-surface-pressed","NUMBER","0.10"),st.create("--ft-opacity-content-on-surface-selected","NUMBER","0.08"),st.create("--ft-opacity-content-on-surface-dragged","NUMBER","0.08"),st.create("--ft-opacity-primary-on-surface-disabled","NUMBER","0"),st.create("--ft-opacity-primary-on-surface-enable","NUMBER","0"),st.create("--ft-opacity-primary-on-surface-hover","NUMBER","0.04"),st.create("--ft-opacity-primary-on-surface-focused","NUMBER","0.12"),st.create("--ft-opacity-primary-on-surface-pressed","NUMBER","0.10"),st.create("--ft-opacity-primary-on-surface-selected","NUMBER","0.08"),st.create("--ft-opacity-primary-on-surface-dragged","NUMBER","0.08"),st.create("--ft-opacity-surface-on-primary-disabled","NUMBER","0"),st.create("--ft-opacity-surface-on-primary-enable","NUMBER","0"),st.create("--ft-opacity-surface-on-primary-hover","NUMBER","0.04"),st.create("--ft-opacity-surface-on-primary-focused","NUMBER","0.12"),st.create("--ft-opacity-surface-on-primary-pressed","NUMBER","0.10"),st.create("--ft-opacity-surface-on-primary-selected","NUMBER","0.08"),st.create("--ft-opacity-surface-on-primary-dragged","NUMBER","0.08"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.create("--ft-border-radius-S","SIZE","4px"),st.create("--ft-border-radius-M","SIZE","8px"),st.create("--ft-border-radius-L","SIZE","12px"),st.create("--ft-border-radius-XL","SIZE","16px"),st.create("--ft-title-font","UNKNOWN","Ubuntu, system-ui, sans-serif"),st.create("--ft-content-font","UNKNOWN","'Open Sans', system-ui, sans-serif"),st.create("--ft-transition-duration","UNKNOWN","250ms"),st.create("--ft-transition-timing-function","UNKNOWN","ease-in-out");var ut=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
|
|
49
|
+
var it,nt;null==et||et(z,Z),(null!==(E=globalThis.litHtmlVersions)&&void 0!==E?E:globalThis.litHtmlVersions=[]).push("2.2.7");class rt extends O{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 Z(e.insertBefore(A(),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 W}}rt.finalized=!0,rt._$litElement$=!0,null===(it=globalThis.litElementHydrateSupport)||void 0===it||it.call(globalThis,{LitElement:rt});const ot=globalThis.litElementPolyfillSupport;null==ot||ot({LitElement:rt}),(null!==(nt=globalThis.litElementVersions)&&void 0!==nt?nt:globalThis.litElementVersions=[]).push("3.2.2");class st{static create(t,e,i){let n=t=>f(null!=t?t:i),r=h`var(${f(t)}, ${n(i)})`;return r.name=t,r.category=e,r.defaultValue=i,r.defaultCssValue=n,r.get=e=>h`var(${f(t)}, ${n(e)})`,r.breadcrumb=()=>[],r.lastResortDefaultValue=()=>i,r}static extend(t,e,i){let n=t=>e.get(null!=t?t:i),r=h`var(${f(t)}, ${n(i)})`;return r.name=t,r.category=e.category,r.fallbackVariable=e,r.defaultValue=i,r.defaultCssValue=n,r.get=e=>h`var(${f(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):f(null!=e?e:t.defaultValue),n=h`var(${f(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=>h`var(${f(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}}st.create("--ft-color-primary","COLOR","#2196F3"),st.create("--ft-color-primary-variant","COLOR","#1976D2"),st.create("--ft-color-secondary","COLOR","#FFCC80"),st.create("--ft-color-secondary-variant","COLOR","#F57C00"),st.create("--ft-color-surface","COLOR","#FFFFFF"),st.create("--ft-color-content","COLOR","rgba(0, 0, 0, 0.87)"),st.create("--ft-color-error","COLOR","#B00020"),st.create("--ft-color-outline","COLOR","rgba(0, 0, 0, 0.14)"),st.create("--ft-color-opacity-high","NUMBER","1"),st.create("--ft-color-opacity-medium","NUMBER","0.74"),st.create("--ft-color-opacity-disabled","NUMBER","0.38"),st.create("--ft-color-on-primary","COLOR","#FFFFFF"),st.create("--ft-color-on-primary-high","COLOR","#FFFFFF"),st.create("--ft-color-on-primary-medium","COLOR","rgba(255, 255, 255, 0.74)"),st.create("--ft-color-on-primary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),st.create("--ft-color-on-secondary","COLOR","#FFFFFF"),st.create("--ft-color-on-secondary-high","COLOR","#FFFFFF"),st.create("--ft-color-on-secondary-medium","COLOR","rgba(255, 255, 255, 0.74)"),st.create("--ft-color-on-secondary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),st.create("--ft-color-on-surface","COLOR","rgba(0, 0, 0, 0.87)"),st.create("--ft-color-on-surface-high","COLOR","rgba(0, 0, 0, 0.87)"),st.create("--ft-color-on-surface-medium","COLOR","rgba(0, 0, 0, 0.60)"),st.create("--ft-color-on-surface-disabled","COLOR","rgba(0, 0, 0, 0.38)"),st.create("--ft-opacity-content-on-surface-disabled","NUMBER","0"),st.create("--ft-opacity-content-on-surface-enable","NUMBER","0"),st.create("--ft-opacity-content-on-surface-hover","NUMBER","0.04"),st.create("--ft-opacity-content-on-surface-focused","NUMBER","0.12"),st.create("--ft-opacity-content-on-surface-pressed","NUMBER","0.10"),st.create("--ft-opacity-content-on-surface-selected","NUMBER","0.08"),st.create("--ft-opacity-content-on-surface-dragged","NUMBER","0.08"),st.create("--ft-opacity-primary-on-surface-disabled","NUMBER","0"),st.create("--ft-opacity-primary-on-surface-enable","NUMBER","0"),st.create("--ft-opacity-primary-on-surface-hover","NUMBER","0.04"),st.create("--ft-opacity-primary-on-surface-focused","NUMBER","0.12"),st.create("--ft-opacity-primary-on-surface-pressed","NUMBER","0.10"),st.create("--ft-opacity-primary-on-surface-selected","NUMBER","0.08"),st.create("--ft-opacity-primary-on-surface-dragged","NUMBER","0.08"),st.create("--ft-opacity-surface-on-primary-disabled","NUMBER","0"),st.create("--ft-opacity-surface-on-primary-enable","NUMBER","0"),st.create("--ft-opacity-surface-on-primary-hover","NUMBER","0.04"),st.create("--ft-opacity-surface-on-primary-focused","NUMBER","0.12"),st.create("--ft-opacity-surface-on-primary-pressed","NUMBER","0.10"),st.create("--ft-opacity-surface-on-primary-selected","NUMBER","0.08"),st.create("--ft-opacity-surface-on-primary-dragged","NUMBER","0.08"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.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)"),st.create("--ft-border-radius-S","SIZE","4px"),st.create("--ft-border-radius-M","SIZE","8px"),st.create("--ft-border-radius-L","SIZE","12px"),st.create("--ft-border-radius-XL","SIZE","16px"),st.create("--ft-title-font","UNKNOWN","Ubuntu, system-ui, sans-serif"),st.create("--ft-content-font","UNKNOWN","'Open Sans', system-ui, sans-serif"),st.create("--ft-transition-duration","UNKNOWN","250ms"),st.create("--ft-transition-timing-function","UNKNOWN","ease-in-out");var ut=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 at extends(
|
|
50
50
|
/**
|
|
51
51
|
* @license
|
|
52
52
|
* Copyright 2021 Google LLC
|
|
@@ -57,7 +57,7 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
|
|
|
57
57
|
<style>${t}</style>
|
|
58
58
|
`))}
|
|
59
59
|
${this.getTemplate()}
|
|
60
|
-
`}updated(t){super.updated(t),setTimeout((()=>{var e;this.contentAvailableCallback(t),(null===(e=this.exportpartsPrefix)||void 0===e?void 0:e.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}),0)}setExportpartsAttribute(t){var e,i,n,r,o,s;const u=t=>null!=t&&t.trim().length>0,
|
|
60
|
+
`}updated(t){super.updated(t),setTimeout((()=>{var e;this.contentAvailableCallback(t),(null===(e=this.exportpartsPrefix)||void 0===e?void 0:e.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}),0)}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(", "))}contentAvailableCallback(t){}}function ct(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 lt(t){return!!t&&!!t[Xt]}function ft(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)===Gt}(t)||Array.isArray(t)||!!t[qt]||!!t.constructor[qt]||wt(t)||yt(t))}function ht(t,e,i){void 0===i&&(i=!1),0===dt(t)?(i?Object.keys:Yt)(t).forEach((function(n){i&&"symbol"==typeof n||e(n,t[n],t)})):t.forEach((function(i,n){return e(n,i,t)}))}function dt(t){var e=t[Xt];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:wt(t)?2:yt(t)?3:0}function vt(t,e){return 2===dt(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function pt(t,e,i){var n=dt(t);2===n?t.set(e,i):3===n?(t.delete(e),t.add(i)):t[e]=i}function bt(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function wt(t){return zt&&t instanceof Map}function yt(t){return Jt&&t instanceof Set}function mt(t){return t.o||t.t}function gt(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=Qt(t);delete e[Xt];for(var i=Yt(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 xt(t,e){return void 0===e&&(e=!1),Et(t)||lt(t)||!ft(t)||(dt(t)>1&&(t.set=t.add=t.clear=t.delete=Ot),Object.freeze(t),e&&ht(t,(function(t,e){return xt(e,!0)}),!0)),t}function Ot(){ct(2)}function Et(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function jt(t){var e=te[t];return e||ct(18,t),e}function Nt(){return Kt}function Rt(t,e){e&&(jt("Patches"),t.u=[],t.s=[],t.v=e)}function St(t){Ct(t),t.p.forEach(At),t.p=null}function Ct(t){t===Kt&&(Kt=t.l)}function Mt(t){return Kt={p:[],l:Kt,h:t,m:!0,_:0}}function At(t){var e=t[Xt];0===e.i||1===e.i?e.j():e.O=!0}function Tt(t,e){e._=e.p.length;var i=e.p[0],n=void 0!==t&&t!==i;return e.h.g||jt("ES5").S(e,t,n),n?(i[Xt].P&&(St(e),ct(4)),ft(t)&&(t=Ut(e,t),e.l||It(e,t)),e.u&&jt("Patches").M(i[Xt].t,t,e.u,e.s)):t=Ut(e,i,[]),St(e),e.u&&e.v(e.u,e.s),t!==Zt?t:void 0}function Ut(t,e,i){if(Et(e))return e;var n=e[Xt];if(!n)return ht(e,(function(r,o){return $t(t,n,e,r,o,i)}),!0),e;if(n.A!==t)return e;if(!n.P)return It(t,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var r=4===n.i||5===n.i?n.o=gt(n.k):n.o;ht(3===n.i?new Set(r):r,(function(e,o){return $t(t,n,r,e,o,i)})),It(t,r,!1),i&&t.u&&jt("Patches").R(n,i,t.u,t.s)}return n.o}function $t(t,e,i,n,r,o){if(lt(r)){var s=Ut(t,r,o&&e&&3!==e.i&&!vt(e.D,n)?o.concat(n):void 0);if(pt(i,n,s),!lt(s))return;t.m=!1}if(ft(r)&&!Et(r)){if(!t.h.F&&t._<1)return;Ut(t,r),e&&e.A.l||It(t,r)}}function It(t,e,i){void 0===i&&(i=!1),t.h.F&&t.m&&xt(e,i)}function Ft(t,e){var i=t[Xt];return(i?mt(i):t)[e]}function kt(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 Pt(t){t.P||(t.P=!0,t.l&&Pt(t.l))}function Lt(t){t.o||(t.o=gt(t.t))}function _t(t,e,i){var n=wt(e)?jt("MapSet").N(e,i):yt(e)?jt("MapSet").T(e,i):t.g?function(t,e){var i=Array.isArray(t),n={i:i?1:0,A:e?e.A:Nt(),P:!1,I:!1,D:{},l:e,t,k:null,o:null,j:null,C:!1},r=n,o=ee;i&&(r=[n],o=ie);var s=Proxy.revocable(r,o),u=s.revoke,a=s.proxy;return n.k=a,n.j=u,a}(e,i):jt("ES5").J(e,i);return(i?i.A:Nt()).p.push(n),n}function Bt(t){return lt(t)||ct(22,t),function t(e){if(!ft(e))return e;var i,n=e[Xt],r=dt(e);if(n){if(!n.P&&(n.i<4||!jt("ES5").K(n)))return n.t;n.I=!0,i=Wt(e,r),n.I=!1}else i=Wt(e,r);return ht(i,(function(e,r){n&&function(t,e){return 2===dt(t)?t.get(e):t[e]}(n.t,e)===r||pt(i,e,t(r))})),3===r?new Set(i):i}(t)}function Wt(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return gt(t)}ut([n()],at.prototype,"exportpartsPrefix",void 0),ut([function(t,e){const i=()=>JSON.parse(JSON.stringify(t));return n({type:Object,converter:{fromAttribute:t=>{if(null==t)return i();try{return JSON.parse(t)}catch{return i()}},toAttribute:t=>JSON.stringify(t)},...null!=e?e:{}})}([])],at.prototype,"exportpartsPrefixes",void 0),h`
|
|
61
61
|
.ft-no-text-select {
|
|
62
62
|
-webkit-touch-callout: none;
|
|
63
63
|
-webkit-user-select: none;
|
|
@@ -66,7 +66,7 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
|
|
|
66
66
|
-ms-user-select: none;
|
|
67
67
|
user-select: none;
|
|
68
68
|
}
|
|
69
|
-
`;var Kt,Dt,Ht="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),zt="undefined"!=typeof Map,Jt="undefined"!=typeof Set,Vt="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,Zt=Ht?Symbol.for("immer-nothing"):((Kt={})["immer-nothing"]=!0,Kt),qt=Ht?Symbol.for("immer-draftable"):"__$immer_draftable",Xt=Ht?Symbol.for("immer-state"):"__$immer_state",Gt=""+Object.prototype.constructor,Yt="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Qt=Object.getOwnPropertyDescriptors||function(t){var e={};return Yt(t).forEach((function(i){e[i]=Object.getOwnPropertyDescriptor(t,i)})),e},te={},ee={get:function(t,e){if(e===Xt)return t;var i=mt(t);if(!vt(i,e))return function(t,e,i){var n,r=Ft(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||!ft(n)?n:n===kt(t.t,e)?(_t(t),t.o[e]=Lt(t.A.h,n,t)):n},has:function(t,e){return e in mt(t)},ownKeys:function(t){return Reflect.ownKeys(mt(t))},set:function(t,e,i){var n=Ft(mt(t),e);if(null==n?void 0:n.set)return n.set.call(t.k,i),!0;if(!t.P){var r=kt(mt(t),e),o=null==r?void 0:r[Xt];if(o&&o.t===i)return t.o[e]=i,t.D[e]=!1,!0;if(bt(i,r)&&(void 0!==i||vt(t.t,e)))return!0;_t(t),Pt(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,_t(t),Pt(t)):delete t.D[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var i=mt(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(){at(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){at(12)}},ie={};ht(ee,(function(t,e){ie[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),ie.deleteProperty=function(t,e){return ie.set.call(this,t,e,void 0)},ie.set=function(t,e,i){return ee.set.call(this,t[0],e,i,t[0])};var ne=function(){function t(t){var e=this;this.g=Vt,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),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&&at(6),void 0!==n&&"function"!=typeof n&&at(7),ft(t)){var u=Mt(e),c=Lt(e,t,void 0),a=!0;try{s=i(c),a=!1}finally{a?Rt(u):Ct(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return St(u,n),Ut(t,u)}),(function(t){throw Rt(u),t})):(St(u,n),Ut(s,u))}if(!t||"object"!=typeof t){if(void 0===(s=i(t))&&(s=t),s===Zt&&(s=void 0),e.F&&xt(s,!0),n){var l=[],f=[];jt("Patches").M(t,s,l,f),n(l,f)}return s}at(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){ft(t)||at(8),lt(t)&&(t=Bt(t));var e=Mt(this),i=Lt(this,t,void 0);return i[Xt].C=!0,Ct(e),i},e.finishDraft=function(t,e){var i=(t&&t[Xt]).A;return St(i,e),Ut(void 0,i)},e.setAutoFreeze=function(t){this.F=t},e.setUseProxies=function(t){t&&!Vt&&at(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=jt("Patches").$;return lt(t)?r(t,e):this.produce(t,(function(t){return r(t,e)}))},t}(),re=new ne,oe=re.produce;re.produceWithPatches.bind(re),re.setAutoFreeze.bind(re),re.setUseProxies.bind(re),re.applyPatches.bind(re),re.createDraft.bind(re),re.finishDraft.bind(re);var se=oe;function ue(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function ce(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 ae(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ce(Object(i),!0).forEach((function(e){ue(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ce(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function le(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 fe="function"==typeof Symbol&&Symbol.observable||"@@observable",he=function(){return Math.random().toString(36).substring(7).split("").join(".")},de={INIT:"@@redux/INIT"+he(),REPLACE:"@@redux/REPLACE"+he(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+he()}};function ve(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 pe(t,e,i){var n;if("function"==typeof e&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(le(0));if("function"==typeof e&&void 0===i&&(i=e,e=void 0),void 0!==i){if("function"!=typeof i)throw new Error(le(1));return i(pe)(t,e)}if("function"!=typeof t)throw new Error(le(2));var r=t,o=e,s=[],u=s,c=!1;function a(){u===s&&(u=s.slice())}function l(){if(c)throw new Error(le(3));return o}function f(t){if("function"!=typeof t)throw new Error(le(4));if(c)throw new Error(le(5));var e=!0;return a(),u.push(t),function(){if(e){if(c)throw new Error(le(6));e=!1,a();var i=u.indexOf(t);u.splice(i,1),s=null}}}function h(t){if(!ve(t))throw new Error(le(7));if(void 0===t.type)throw new Error(le(8));if(c)throw new Error(le(9));try{c=!0,o=r(o,t)}finally{c=!1}for(var e=s=u,i=0;i<e.length;i++){(0,e[i])()}return t}function d(t){if("function"!=typeof t)throw new Error(le(10));r=t,h({type:de.REPLACE})}function v(){var t,e=f;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(le(11));function i(){t.next&&t.next(l())}return i(),{unsubscribe:e(i)}}})[fe]=function(){return this},t}return h({type:de.INIT}),(n={dispatch:h,subscribe:f,getState:l,replaceReducer:d})[fe]=v,n}function be(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:de.INIT}))throw new Error(le(12));if(void 0===i(void 0,{type:de.PROBE_UNKNOWN_ACTION()}))throw new Error(le(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 c=s[u],a=i[c],l=t[c],f=a(l,e);if(void 0===f)throw e&&e.type,new Error(le(14));r[c]=f,n=n||f!==l}return(n=n||s.length!==Object.keys(t).length)?r:t}}function we(){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 ye(){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(le(15))},r={getState:i.getState,dispatch:function(){return n.apply(void 0,arguments)}},o=e.map((function(t){return t(r)}));return n=we.apply(void 0,o)(i.dispatch),ae(ae({},i),{},{dispatch:n})}}}function me(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 ge=me();ge.withExtraArgument=me;var xe,Oe=ge,Ee=(xe=function(t,e){return xe=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])},xe(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}xe(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),je=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},Ne=Object.defineProperty,Se=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable,Me=function(t,e,i){return e in t?Ne(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i},Ae=function(t,e){for(var i in e||(e={}))Re.call(e,i)&&Me(t,i,e[i]);if(Se)for(var n=0,r=Se(e);n<r.length;n++){i=r[n];Ce.call(e,i)&&Me(t,i,e[i])}return t},Ue="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?we:we.apply(null,arguments)};var Te=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 Ee(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,je([void 0],t[0].concat(this)))):new(e.bind.apply(e,je([void 0],t.concat(this))))},e}(Array);function $e(t){return ft(t)?se(t,(function(){})):t}function Ie(){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 Te;i&&(!function(t){return"boolean"==typeof t}(i)?n.push(Oe.withExtraArgument(i.extraArgument)):n.push(Oe));return n}(t)}}function ke(t){var e,i=Ie(),n=t||{},r=n.reducer,o=void 0===r?void 0:r,s=n.middleware,u=void 0===s?i():s,c=n.devTools,a=void 0===c||c,l=n.preloadedState,f=void 0===l?void 0:l,h=n.enhancers,d=void 0===h?void 0:h;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=be(o)}var v=u;"function"==typeof v&&(v=v(i));var p=ye.apply(void 0,v),b=we;a&&(b=Ue(Ae({trace:!1},"object"==typeof a&&a)));var w=[p];return Array.isArray(d)?w=je([p],d):"function"==typeof d&&(w=d(w)),pe(e,f,b.apply(void 0,w))}function Fe(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 Ae(Ae({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 Pe(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 _e(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:$e(t.initialState),r=t.reducers||{},o=Object.keys(r),s={},u={},c={};function a(){var e="function"==typeof t.extraReducers?Pe(t.extraReducers):[t.extraReducers],i=e[0],r=void 0===i?{}:i,o=e[1],s=void 0===o?[]:o,c=e[2],a=void 0===c?void 0:c,l=Ae(Ae({},r),u);return function(t,e,i,n){void 0===i&&(i=[]);var r,o="function"==typeof e?Pe(e):[e,i,n],s=o[0],u=o[1],c=o[2];if(function(t){return"function"==typeof t}(t))r=function(){return $e(t())};else{var a=$e(t);r=function(){return a}}function l(t,e){void 0===t&&(t=r());var i=je([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=[c]),i.reduce((function(t,i){if(i){var n;if(lt(t))return void 0===(n=i(t,e))?t:n;if(ft(t))return se(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,a)}return o.forEach((function(t){var i,n,o=r[t],a=e+"/"+t;"reducer"in o?(i=o.reducer,n=o.prepare):i=o,s[t]=i,u[a]=i,c[t]=n?Fe(a,n):Fe(a)})),{name:e,reducer:function(t,e){return i||(i=a()),i(t,e)},actions:c,caseReducers:s,getInitialState:function(){return i||(i=a()),i.getInitialState()}}}var Le="listenerMiddleware";Fe(Le+"/add"),Fe(Le+"/removeAll"),Fe(Le+"/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[Xt];return ee.get(e,t)},set:function(e){var i=this[Xt];ee.set(i,t,e)}},i}function e(t){for(var e=t.length-1;e>=0;e--){var r=t[e][Xt];if(!r.P)switch(r.i){case 5:n(r)&&Pt(r);break;case 4:i(r)&&Pt(r)}}}function i(t){for(var e=t.t,i=t.k,n=Yt(i),r=n.length-1;r>=0;r--){var o=n[r];if(o!==Xt){var s=e[o];if(void 0===s&&!vt(e,o))return!0;var u=i[o],c=u&&u[Xt];if(c?c.t!==s:!bt(u,s))return!0}}var a=!!e[Xt];return n.length!==Yt(e).length+(a?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){te[t]||(te[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=Qt(i);delete o[Xt];for(var s=Yt(o),u=0;u<s.length;u++){var c=s[u];o[c]=t(c,e||!!o[c].enumerable)}return Object.create(Object.getPrototypeOf(i),o)}(n,e),o={i:n?5:4,A:i?i.A:Nt(),P:!1,I:!1,D:{},l:i,t:e,k:r,o:null,O:!1,C:!1};return Object.defineProperty(r,Xt,{value:o,writable:!0}),r},S:function(t,i,r){r?lt(i)&&i[Xt].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var i=e[Xt];if(i){var r=i.t,o=i.k,s=i.D,u=i.i;if(4===u)ht(o,(function(e){e!==Xt&&(void 0!==r[e]||vt(r,e)?s[e]||t(o[e]):(s[e]=!0,Pt(i)))})),ht(r,(function(t){void 0!==o[t]||vt(o,t)||(s[t]=!1,Pt(i))}));else if(5===u){if(n(i)&&(Pt(i),s.length=!0),o.length<r.length)for(var c=o.length;c<r.length;c++)s[c]=!1;else for(var a=r.length;a<o.length;a++)s[a]=!0;for(var l=Math.min(o.length,r.length),f=0;f<l;f++)o.hasOwnProperty(f)||(s[f]=!0),void 0===s[f]&&t(o[f])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?i(t):n(t)}})}();const Be=(t,e)=>(i,n)=>{i.constructor.createProperty(n,{attribute:!1,hasChanged:null!=e?e:o});const r=i;r.reduxProperties=r.reduxProperties||new Map,r.reduxProperties.set(n,null!=t?t:t=>t[n])};class We extends ct{get store(){return this.internalStore}set store(t){this.internalStore=t,this.store&&this.setupStore()}updateFromStore(){const t=this.store.getState();this.reduxProperties&&this.reduxProperties.forEach(((e,i)=>{this[i]=e(t,this)}))}setupStore(){this.unsubscribeFromStore&&this.unsubscribeFromStore(),this.updateFromStore(),this.unsubscribeFromStore=this.store.subscribe((()=>{this.updateFromStore()})),this.onStoreAvailable(),this.requestUpdate()}onStoreAvailable(){}connectedCallback(){super.connectedCallback(),this.store&&this.setupStore()}disconnectedCallback(){this.unsubscribeFromStore&&this.unsubscribeFromStore(),super.disconnectedCallback()}}var Ke,De;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(De=null===(Ke=window.safari)||void 0===Ke?void 0:Ke.pushNotification)||void 0===De||De.toString());const He={setBaseUrl:(t,e)=>{t.baseUrl=e.payload},setApiIntegrationIdentifier:(t,e)=>{t.apiIntegrationIdentifier=e.payload},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},setCurrentPage:(t,e)=>{t.currentPage=e.payload},setScrollTarget:(t,e)=>{t.scrollTarget=e.payload},setVisibleTopics:(t,e)=>{t.visibleTopics=e.payload}};class ze{convertNodes(t){var e,i,n,r;const o={},s=new Set,u=new Set,c=[],a=(t,e,i)=>t.map((t=>{var n;t.page&&c.push(t.tocId);let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const l={...t,prettyUrl:r,depth:e,parentTocId:i,children:a(t.children,e+1,t.tocId)};return r&&(s.has(r)&&u.add(r),s.add(r)),o[t.tocId]=l,l})),l=a(null!=t?t:[],1),f=this.buildPages(c,o);let h={};return 0===f.length?f.push({number:1,title:null!==(i=null===(e=l[0])||void 0===e?void 0:e.title)&&void 0!==i?i:"",rootTocId:null!==(r=null===(n=l[0])||void 0===n?void 0:n.tocId)&&void 0!==r?r:"root",toc:[],topics:this.tocIds(l),hiddenTopics:[]}):h=this.indexPages(f),{toc:l,nodeByTocId:o,duplicatedPrettyUrls:u,pages:f,pageByTocId:h}}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildPages(t,e){const i=t=>t.parentTocId?[...i(e[t.parentTocId]),t.parentTocId]:[];return t.map((t=>e[t])).map(((t,e)=>{var n,r,o,s,u;const c={number:e+1,title:t.title,rootTocId:t.tocId,toc:(null===(n=t.page)||void 0===n?void 0:n.onItsOwn)?[]:t.children,topics:[],hiddenTopics:[]},a=(t,e)=>(e?c.topics:c.hiddenTopics).push(t),l=null!==(o=null===(r=t.page)||void 0===r?void 0:r.parentsVisibility)&&void 0!==o?o:[];return i(t).forEach(((t,e)=>{a(t,l[e])})),a(t.tocId,null===(s=t.page)||void 0===s?void 0:s.visible),(null===(u=t.page)||void 0===u?void 0:u.onItsOwn)||c.topics.push(...this.tocIds(t.children)),c}))}indexPages(t){const e={};for(let i of t)for(let t of[...i.topics,...i.hiddenTopics])e[t]||(e[t]=i);return e}}class Je{constructor(t,e,i,n){this.converter=t,this.api=e,this.baseUrl=i,this.mapId=n,this.topics={},this.topicContents={},i.endsWith("/")||(this.baseUrl=i+"/")}static build(t,e,i){if(null==window.fluidtopics)throw console.error("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api"),new Error("Fluid Topics public API not found");return new Je(new ze,new window.fluidtopics.FluidTopicsApi(t,e,!0),t,i)}clear(){this.map=void 0,this.enrichedToc=void 0,this.topics={},this.topicContents={}}getMap(){return this.loadIfNeeded((()=>this.map),(t=>this.map=t),(()=>this.api.getMap(this.mapId)))}getEnrichedToc(){return this.loadIfNeeded((()=>this.enrichedToc),(t=>this.enrichedToc=t),(()=>this.api.getTableOfContent(this.mapId).then((t=>this.converter.convertNodes(t)))))}async getToc(){return(await this.getEnrichedToc()).toc}async getTocNode(t){return(await this.getEnrichedToc()).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.loadIfNeeded((()=>this.topics[t]),(e=>this.topics[t]=e),(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.loadIfNeeded((()=>this.topicContents[t]),(e=>this.topicContents[t]=e),(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,e,i){var n;t=t||"root";let r=this.enrichedToc,o=null===(n=null==r?void 0:r.nodeByTocId[t])||void 0===n?void 0:n.prettyUrl,s=o||`r/${this.mapId}/${t}`,u=new URL(s,this.baseUrl),c=null==r?void 0:r.pageByTocId[t];return e&&c&&c.number!==e&&u.searchParams.set("page",`${e}`),o&&(null==r?void 0:r.duplicatedPrettyUrls.has(o))&&u.searchParams.set("tocId",t),i&&u.searchParams.set("section",i),u.href}async loadIfNeeded(t,e,i){for(void 0===t()&&(e(!0),e(await i().catch((t=>(console.error(t),!1)))));!0===t();)await s(10);const n=t();if(!1===n)throw new Error("Could not load data");return n}}class Ve{constructor(t,i){this.store=t,this.slice=i,this.reloadDebouncer=new e(10)}static build(t){const e=(t=>_e({name:"ft-reader-"+t,initialState:{baseUrl:"",apiIntegrationIdentifier:"ft-reader",visibleTopics:[]},reducers:He}))(t.trim()||"context");return new Ve(function(t,e,i){window.ftReduxStores||(window.ftReduxStores={});const n=e||t.name;return window.ftReduxStores[n]||(window.ftReduxStores[n]=ke({reducer:t.reducer})),window.ftReduxStores[n]}(e),e)}setBaseUrl(t){this.setRequiredStateField("baseUrl","setBaseUrl",t)}setApiIntegrationIdentifier(t){this.setRequiredStateField("apiIntegrationIdentifier","setApiIntegrationIdentifier",t)}setMapId(t){this.setRequiredStateField("mapId","setMapId",t)}setVisibleTopics(t){this.dispatch(this.slice.actions.setVisibleTopics(t))}async navigateToTopic(t,e,i){for(;null===this.service;)await s(5);let n=null!=i?await this.service.getPage(i):await this.service.getPageByTocId(t);console.log(i,n),this.dispatch(this.slice.actions.setCurrentPage(n),this.slice.actions.setScrollTarget({tocId:t,section:e}))}async navigateToPage(t){for(;null===this.service;)await s(5);let e=await this.service.getPage(t);this.dispatch(this.slice.actions.setCurrentPage(e))}scrollDone(){this.dispatch(this.slice.actions.setScrollTarget({}))}setRequiredStateField(t,e,i){this.store.getState()[t]!==i&&(this.dispatch(this.slice.actions[e](i)),this.clearAll(),this.reload())}clearAll(){this.dispatch(this.slice.actions.setMap(void 0),this.slice.actions.setToc(void 0),this.slice.actions.setCurrentPage(void 0))}reload(){const t=this.store.getState();t.baseUrl&&t.apiIntegrationIdentifier&&t.mapId?this.service=Je.build(t.baseUrl,t.apiIntegrationIdentifier,t.mapId):this.service=void 0,this.reloadDebouncer.run((async()=>{this.reloadMap(),this.reloadToc()}))}async reloadMap(){var t;const e=await(null===(t=this.service)||void 0===t?void 0:t.getMap());this.dispatch(this.slice.actions.setMap(e))}async reloadToc(){var t;const e=await(null===(t=this.service)||void 0===t?void 0:t.getToc());this.dispatch(this.slice.actions.setToc(e))}dispatch(...t){for(let e of t)this.store.dispatch(e)}}var Ze,qe=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 Xe extends CustomEvent{constructor(t){super("ft-reader-map-loaded",{detail:t})}}class Ge extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{map:t,visibleTopics:e}})}}class Ye extends We{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-reader",this.visibleTopics=[]}render(){return B`
|
|
69
|
+
`;var Dt,Kt,Ht="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),zt="undefined"!=typeof Map,Jt="undefined"!=typeof Set,Vt="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,Zt=Ht?Symbol.for("immer-nothing"):((Dt={})["immer-nothing"]=!0,Dt),qt=Ht?Symbol.for("immer-draftable"):"__$immer_draftable",Xt=Ht?Symbol.for("immer-state"):"__$immer_state",Gt=""+Object.prototype.constructor,Yt="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Qt=Object.getOwnPropertyDescriptors||function(t){var e={};return Yt(t).forEach((function(i){e[i]=Object.getOwnPropertyDescriptor(t,i)})),e},te={},ee={get:function(t,e){if(e===Xt)return t;var i=mt(t);if(!vt(i,e))return function(t,e,i){var n,r=kt(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||!ft(n)?n:n===Ft(t.t,e)?(Lt(t),t.o[e]=_t(t.A.h,n,t)):n},has:function(t,e){return e in mt(t)},ownKeys:function(t){return Reflect.ownKeys(mt(t))},set:function(t,e,i){var n=kt(mt(t),e);if(null==n?void 0:n.set)return n.set.call(t.k,i),!0;if(!t.P){var r=Ft(mt(t),e),o=null==r?void 0:r[Xt];if(o&&o.t===i)return t.o[e]=i,t.D[e]=!1,!0;if(bt(i,r)&&(void 0!==i||vt(t.t,e)))return!0;Lt(t),Pt(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!==Ft(t.t,e)||e in t.t?(t.D[e]=!1,Lt(t),Pt(t)):delete t.D[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var i=mt(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(){ct(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){ct(12)}},ie={};ht(ee,(function(t,e){ie[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),ie.deleteProperty=function(t,e){return ie.set.call(this,t,e,void 0)},ie.set=function(t,e,i){return ee.set.call(this,t[0],e,i,t[0])};var ne=function(){function t(t){var e=this;this.g=Vt,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),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&&ct(6),void 0!==n&&"function"!=typeof n&&ct(7),ft(t)){var u=Mt(e),a=_t(e,t,void 0),c=!0;try{s=i(a),c=!1}finally{c?St(u):Ct(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return Rt(u,n),Tt(t,u)}),(function(t){throw St(u),t})):(Rt(u,n),Tt(s,u))}if(!t||"object"!=typeof t){if(void 0===(s=i(t))&&(s=t),s===Zt&&(s=void 0),e.F&&xt(s,!0),n){var l=[],f=[];jt("Patches").M(t,s,l,f),n(l,f)}return s}ct(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){ft(t)||ct(8),lt(t)&&(t=Bt(t));var e=Mt(this),i=_t(this,t,void 0);return i[Xt].C=!0,Ct(e),i},e.finishDraft=function(t,e){var i=(t&&t[Xt]).A;return Rt(i,e),Tt(void 0,i)},e.setAutoFreeze=function(t){this.F=t},e.setUseProxies=function(t){t&&!Vt&&ct(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=jt("Patches").$;return lt(t)?r(t,e):this.produce(t,(function(t){return r(t,e)}))},t}(),re=new ne,oe=re.produce;re.produceWithPatches.bind(re),re.setAutoFreeze.bind(re),re.setUseProxies.bind(re),re.applyPatches.bind(re),re.createDraft.bind(re),re.finishDraft.bind(re);var se=oe;function ue(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function ae(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 ce(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ae(Object(i),!0).forEach((function(e){ue(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ae(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function le(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 fe="function"==typeof Symbol&&Symbol.observable||"@@observable",he=function(){return Math.random().toString(36).substring(7).split("").join(".")},de={INIT:"@@redux/INIT"+he(),REPLACE:"@@redux/REPLACE"+he(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+he()}};function ve(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 pe(t,e,i){var n;if("function"==typeof e&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(le(0));if("function"==typeof e&&void 0===i&&(i=e,e=void 0),void 0!==i){if("function"!=typeof i)throw new Error(le(1));return i(pe)(t,e)}if("function"!=typeof t)throw new Error(le(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(le(3));return o}function f(t){if("function"!=typeof t)throw new Error(le(4));if(a)throw new Error(le(5));var e=!0;return c(),u.push(t),function(){if(e){if(a)throw new Error(le(6));e=!1,c();var i=u.indexOf(t);u.splice(i,1),s=null}}}function h(t){if(!ve(t))throw new Error(le(7));if(void 0===t.type)throw new Error(le(8));if(a)throw new Error(le(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}function d(t){if("function"!=typeof t)throw new Error(le(10));r=t,h({type:de.REPLACE})}function v(){var t,e=f;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(le(11));function i(){t.next&&t.next(l())}return i(),{unsubscribe:e(i)}}})[fe]=function(){return this},t}return h({type:de.INIT}),(n={dispatch:h,subscribe:f,getState:l,replaceReducer:d})[fe]=v,n}function be(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:de.INIT}))throw new Error(le(12));if(void 0===i(void 0,{type:de.PROBE_UNKNOWN_ACTION()}))throw new Error(le(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],f=c(l,e);if(void 0===f)throw e&&e.type,new Error(le(14));r[a]=f,n=n||f!==l}return(n=n||s.length!==Object.keys(t).length)?r:t}}function we(){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 ye(){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(le(15))},r={getState:i.getState,dispatch:function(){return n.apply(void 0,arguments)}},o=e.map((function(t){return t(r)}));return n=we.apply(void 0,o)(i.dispatch),ce(ce({},i),{},{dispatch:n})}}}function me(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 ge=me();ge.withExtraArgument=me;var xe,Oe=ge,Ee=(xe=function(t,e){return xe=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])},xe(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}xe(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),je=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},Ne=Object.defineProperty,Re=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable,Me=function(t,e,i){return e in t?Ne(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i},Ae=function(t,e){for(var i in e||(e={}))Se.call(e,i)&&Me(t,i,e[i]);if(Re)for(var n=0,r=Re(e);n<r.length;n++){i=r[n];Ce.call(e,i)&&Me(t,i,e[i])}return t},Te="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?we:we.apply(null,arguments)};var Ue=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 Ee(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,je([void 0],t[0].concat(this)))):new(e.bind.apply(e,je([void 0],t.concat(this))))},e}(Array);function $e(t){return ft(t)?se(t,(function(){})):t}function Ie(){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 Ue;i&&(!function(t){return"boolean"==typeof t}(i)?n.push(Oe.withExtraArgument(i.extraArgument)):n.push(Oe));return n}(t)}}function Fe(t){var e,i=Ie(),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,f=void 0===l?void 0:l,h=n.enhancers,d=void 0===h?void 0:h;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=be(o)}var v=u;"function"==typeof v&&(v=v(i));var p=ye.apply(void 0,v),b=we;c&&(b=Te(Ae({trace:!1},"object"==typeof c&&c)));var w=[p];return Array.isArray(d)?w=je([p],d):"function"==typeof d&&(w=d(w)),pe(e,f,b.apply(void 0,w))}function ke(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 Ae(Ae({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 Pe(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 Le(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:$e(t.initialState),r=t.reducers||{},o=Object.keys(r),s={},u={},a={};function c(){var e="function"==typeof t.extraReducers?Pe(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=Ae(Ae({},r),u);return function(t,e,i,n){void 0===i&&(i=[]);var r,o="function"==typeof e?Pe(e):[e,i,n],s=o[0],u=o[1],a=o[2];if(function(t){return"function"==typeof t}(t))r=function(){return $e(t())};else{var c=$e(t);r=function(){return c}}function l(t,e){void 0===t&&(t=r());var i=je([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(lt(t))return void 0===(n=i(t,e))?t:n;if(ft(t))return se(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,u[c]=i,a[t]=n?ke(c,n):ke(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 _e="listenerMiddleware";ke(_e+"/add"),ke(_e+"/removeAll"),ke(_e+"/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[Xt];return ee.get(e,t)},set:function(e){var i=this[Xt];ee.set(i,t,e)}},i}function e(t){for(var e=t.length-1;e>=0;e--){var r=t[e][Xt];if(!r.P)switch(r.i){case 5:n(r)&&Pt(r);break;case 4:i(r)&&Pt(r)}}}function i(t){for(var e=t.t,i=t.k,n=Yt(i),r=n.length-1;r>=0;r--){var o=n[r];if(o!==Xt){var s=e[o];if(void 0===s&&!vt(e,o))return!0;var u=i[o],a=u&&u[Xt];if(a?a.t!==s:!bt(u,s))return!0}}var c=!!e[Xt];return n.length!==Yt(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){te[t]||(te[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=Qt(i);delete o[Xt];for(var s=Yt(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:Nt(),P:!1,I:!1,D:{},l:i,t:e,k:r,o:null,O:!1,C:!1};return Object.defineProperty(r,Xt,{value:o,writable:!0}),r},S:function(t,i,r){r?lt(i)&&i[Xt].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var i=e[Xt];if(i){var r=i.t,o=i.k,s=i.D,u=i.i;if(4===u)ht(o,(function(e){e!==Xt&&(void 0!==r[e]||vt(r,e)?s[e]||t(o[e]):(s[e]=!0,Pt(i)))})),ht(r,(function(t){void 0!==o[t]||vt(o,t)||(s[t]=!1,Pt(i))}));else if(5===u){if(n(i)&&(Pt(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),f=0;f<l;f++)o.hasOwnProperty(f)||(s[f]=!0),void 0===s[f]&&t(o[f])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?i(t):n(t)}})}();const Be=(t,e)=>(i,n)=>{i.constructor.createProperty(n,{attribute:!1,hasChanged:null!=e?e:(t,e)=>!o(t,e)});const r=i;r.reduxProperties=r.reduxProperties||new Map,r.reduxProperties.set(n,null!=t?t:t=>t[n])};class We extends at{get store(){return this.internalStore}set store(t){this.internalStore=t,this.store&&this.setupStore()}updateFromStore(){const t=this.store.getState();this.reduxProperties&&this.reduxProperties.forEach(((e,i)=>{this[i]=e(t,this)}))}setupStore(){this.unsubscribeFromStore&&this.unsubscribeFromStore(),this.updateFromStore(),this.unsubscribeFromStore=this.store.subscribe((()=>{this.updateFromStore()})),this.onStoreAvailable(),this.requestUpdate()}onStoreAvailable(){}connectedCallback(){super.connectedCallback(),this.store&&this.setupStore()}disconnectedCallback(){this.unsubscribeFromStore&&this.unsubscribeFromStore(),super.disconnectedCallback()}}var De,Ke;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(Ke=null===(De=window.safari)||void 0===De?void 0:De.pushNotification)||void 0===Ke||Ke.toString());const He={setBaseUrl:(t,e)=>{t.baseUrl=e.payload},setApiIntegrationIdentifier:(t,e)=>{t.apiIntegrationIdentifier=e.payload},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},setCurrentPage:(t,e)=>{t.currentPage=e.payload},setScrollTarget:(t,e)=>{t.scrollTarget=e.payload},setVisibleTopics:(t,e)=>{t.visibleTopics=e.payload},setRenderBeforeFirst:(t,e)=>{t.renderBeforeFirst=e.payload},setRenderAfterLast:(t,e)=>{t.renderAfterLast=e.payload}};class ze{convertNodes(t){var e,i,n,r;const o={},s=new Set,u=new Set,a=[],c=(t,e,i)=>t.map((t=>{var n;t.page&&a.push(t.tocId);let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const l={...t,prettyUrl:r,depth:e,parentTocId:i,children:c(t.children,e+1,t.tocId)};return r&&(s.has(r)&&u.add(r),s.add(r)),o[t.tocId]=l,l})),l=c(null!=t?t:[],1),f=this.buildPages(a,o);let h={};return 0===f.length?f.push({number:1,title:null!==(i=null===(e=l[0])||void 0===e?void 0:e.title)&&void 0!==i?i:"",rootTocId:null!==(r=null===(n=l[0])||void 0===n?void 0:n.tocId)&&void 0!==r?r:"root",toc:[],topics:this.tocIds(l),hiddenTopics:[]}):h=this.indexPages(f),{toc:l,nodeByTocId:o,duplicatedPrettyUrls:u,pages:f,pageByTocId:h}}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildPages(t,e){return t.map((t=>e[t])).map(((t,i)=>{var n,r,o,s,u;const a={number:i+1,title:t.title,rootTocId:t.tocId,toc:(null===(n=t.page)||void 0===n?void 0:n.onItsOwn)?[]:t.children,topics:[],hiddenTopics:[]},c=(t,e)=>(e?a.topics:a.hiddenTopics).push(t),l=null!==(o=null===(r=t.page)||void 0===r?void 0:r.parentsVisibility)&&void 0!==o?o:[];return this.buildBreadcrumb(t,e).forEach(((t,e)=>{c(t,l[e])})),c(t.tocId,null===(s=t.page)||void 0===s?void 0:s.visible),(null===(u=t.page)||void 0===u?void 0:u.onItsOwn)||a.topics.push(...this.tocIds(t.children)),a}))}buildBreadcrumb(t,e){const i=[];for(;null==t?void 0:t.parentTocId;)i.unshift(t.parentTocId),t=e[t.parentTocId];return i}indexPages(t){const e={};for(let i of t)for(let t of[...i.topics,...i.hiddenTopics])e[t]||(e[t]=i);return e}}class Je{constructor(t,e,i,n){this.converter=t,this.api=e,this.baseUrl=i,this.mapId=n,this.topics={},this.topicContents={},i.endsWith("/")||(this.baseUrl=i+"/")}static build(t,e,i){if(null==window.fluidtopics)throw console.error("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api"),new Error("Fluid Topics public API not found");return new Je(new ze,new window.fluidtopics.FluidTopicsApi(t,e,!0),t,i)}clear(){this.map=void 0,this.enrichedToc=void 0,this.topics={},this.topicContents={}}getMap(){return this.loadIfNeeded((()=>this.map),(t=>this.map=t),(()=>this.api.getMap(this.mapId)))}getEnrichedToc(){return this.loadIfNeeded((()=>this.enrichedToc),(t=>this.enrichedToc=t),(()=>this.api.getTableOfContent(this.mapId).then((t=>this.converter.convertNodes(t)))))}async getToc(){return(await this.getEnrichedToc()).toc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeOrThrow(t){if("boolean"==typeof this.enrichedToc)throw new Error((this.enrichedToc," still loading"));return this.enrichedToc.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.loadIfNeeded((()=>this.topics[t]),(e=>this.topics[t]=e),(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.loadIfNeeded((()=>this.topicContents[t]),(e=>this.topicContents[t]=e),(()=>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.baseUrl);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="object"==typeof this.enrichedToc?this.enrichedToc:void 0,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)}async loadIfNeeded(t,e,i){for(void 0===t()&&(e(!0),e(await i().catch((t=>(console.error(t),!1)))));!0===t();)await s(10);const n=t();if(!1===n)throw new Error("Could not load data");return n}}class Ve{constructor(t,i){this.store=t,this.slice=i,this.reloadDebouncer=new e(10)}static build(t){const e=(t=>Le({name:"ft-reader-"+t,initialState:{baseUrl:"",apiIntegrationIdentifier:"ft-reader",visibleTopics:[],renderBeforeFirst:2,renderAfterLast:3},reducers:He}))(t.trim()||"context");return new Ve(function(t,e,i){window.ftReduxStores||(window.ftReduxStores={});const n=e||t.name;return window.ftReduxStores[n]||(window.ftReduxStores[n]=Fe({reducer:t.reducer})),window.ftReduxStores[n]}(e),e)}setBaseUrl(t){this.setRequiredStateField("baseUrl","setBaseUrl",t)}setApiIntegrationIdentifier(t){this.setRequiredStateField("apiIntegrationIdentifier","setApiIntegrationIdentifier",t)}setMapId(t){this.setRequiredStateField("mapId","setMapId",t)}setRenderBeforeFirst(t){this.dispatch(this.slice.actions.setRenderBeforeFirst(t))}setRenderAfterLast(t){this.dispatch(this.slice.actions.setRenderAfterLast(t))}setVisibleTopics(t){this.dispatch(this.slice.actions.setVisibleTopics(t))}async navigateToTopic(t,e,i){for(;null==this.service;)await s(5);let n=null!=i?await this.service.getPage(i):await this.service.getPageByTocId(t);this.dispatch(this.slice.actions.setCurrentPage(n),this.slice.actions.setScrollTarget({tocId:t,section:e}))}async navigateToPage(t){for(;null==this.service;)await s(5);let e=await this.service.getPage(t);this.dispatch(this.slice.actions.setCurrentPage(e))}scrollDone(){this.dispatch(this.slice.actions.setScrollTarget({}))}setRequiredStateField(t,e,i){this.store.getState()[t]!==i&&(this.dispatch(this.slice.actions[e](i)),this.clearAll(),this.reload())}clearAll(){this.dispatch(this.slice.actions.setMap(void 0),this.slice.actions.setToc(void 0),this.slice.actions.setCurrentPage(void 0))}reload(){const t=this.store.getState();t.baseUrl&&t.apiIntegrationIdentifier&&t.mapId?this.service=Je.build(t.baseUrl,t.apiIntegrationIdentifier,t.mapId):this.service=void 0,this.reloadDebouncer.run((async()=>{this.reloadMap(),this.reloadToc()}))}async reloadMap(){var t;const e=await(null===(t=this.service)||void 0===t?void 0:t.getMap());this.dispatch(this.slice.actions.setMap(e))}async reloadToc(){var t;const e=await(null===(t=this.service)||void 0===t?void 0:t.getToc());this.dispatch(this.slice.actions.setToc(e))}dispatch(...t){for(let e of t)this.store.dispatch(e)}}var Ze=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 qe extends CustomEvent{constructor(t,e){super("ft-reader-map-loaded",{detail:{map:t,toc:e}})}}class Xe extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{visibleTopics:e}})}}class Ge extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}const Ye=t=>e=>+(null!=e?e:"NaN")>0?+e:t;class Qe extends We{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-reader",this.renderBeforeFirst=2,this.renderAfterLast=3,this.visibleTopics=[],this.navigationDebouncer=new e(5)}render(){return B`
|
|
70
70
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
71
|
-
`}get stateManager(){return null==this._stateManager&&(this._stateManager=Ve.build(this.id||""+Math.round(
|
|
72
|
-
`,
|
|
71
|
+
`}get stateManager(){return null==this._stateManager&&(this._stateManager=Ve.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),this.store=this.stateManager.store),this._stateManager}updated(t){super.updated(t),t.has("baseUrl")&&this.baseUrl&&this.stateManager.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&this.stateManager.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("mapId")&&this.mapId&&(this.stateManager.setMapId(this.mapId),this.stateManager.navigateToTopic("root")),t.has("page")&&!this.tocId&&null!=this.page&&this.stateManager.navigateToPage(this.page),(t.has("tocId")||t.has("section")||t.has("page"))&&this.tocId&&this.stateManager.navigateToTopic(this.tocId,this.section,this.page),t.has("renderBeforeFirst")&&this.stateManager.setRenderBeforeFirst(this.renderBeforeFirst),t.has("renderAfterLast")&&this.stateManager.setRenderAfterLast(this.renderAfterLast)}contentAvailableCallback(t){var e;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new qe(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((()=>this.stateManager.service.getAccurateNavigationData(e.tocId,this.currentPageNumber,e.section).then((t=>this.dispatchEvent(new Ge(t))))))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>this.stateManager.service.getAccurateNavigationData(t,this.currentPageNumber)))).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})));this.dispatchEvent(new Xe(this.map,e))}))}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();t.composedPath()[0].setReaderStateManager(this.stateManager)}}var ti;Qe.styles=h`
|
|
72
|
+
`,Ze([n()],Qe.prototype,"baseUrl",void 0),Ze([n()],Qe.prototype,"apiIntegrationIdentifier",void 0),Ze([n()],Qe.prototype,"mapId",void 0),Ze([n()],Qe.prototype,"tocId",void 0),Ze([n()],Qe.prototype,"section",void 0),Ze([n({type:Number,converter:{fromAttribute:Ye()}})],Qe.prototype,"page",void 0),Ze([n({type:Number,converter:{fromAttribute:Ye(2)}})],Qe.prototype,"renderBeforeFirst",void 0),Ze([n({type:Number,converter:{fromAttribute:Ye(3)}})],Qe.prototype,"renderAfterLast",void 0),Ze([Be()],Qe.prototype,"map",void 0),Ze([Be()],Qe.prototype,"toc",void 0),Ze([Be()],Qe.prototype,"visibleTopics",void 0),Ze([Be((t=>{var e;return null===(e=t.currentPage)||void 0===e?void 0:e.number}))],Qe.prototype,"currentPageNumber",void 0),Ze([Be()],Qe.prototype,"scrollTarget",void 0),(ti="ft-reader-context",t=>{window.customElements.get(ti)||window.customElements.define(ti,t)})(Qe),t.FtReaderContext=Qe,t.MapLoadedEvent=qe,t.NavigationDoneEvent=Ge,t.VisibleTopicsChangeEvent=Xe,Object.defineProperty(t,"U",{value:!0})}({});
|
|
@@ -11,6 +11,8 @@ export declare class FtReaderStateManager {
|
|
|
11
11
|
setBaseUrl(baseUrl: string): void;
|
|
12
12
|
setApiIntegrationIdentifier(apiIntegrationIdentifier: string): void;
|
|
13
13
|
setMapId(mapId: string): void;
|
|
14
|
+
setRenderBeforeFirst(value: number): void;
|
|
15
|
+
setRenderAfterLast(value: number): void;
|
|
14
16
|
setVisibleTopics(tocIds: string[]): void;
|
|
15
17
|
navigateToTopic(tocId: string, section?: string, pageNumber?: number): Promise<void>;
|
|
16
18
|
navigateToPage(pageNumber: number): Promise<void>;
|
|
@@ -20,19 +20,24 @@ export class FtReaderStateManager {
|
|
|
20
20
|
setMapId(mapId) {
|
|
21
21
|
this.setRequiredStateField("mapId", "setMapId", mapId);
|
|
22
22
|
}
|
|
23
|
+
setRenderBeforeFirst(value) {
|
|
24
|
+
this.dispatch(this.slice.actions.setRenderBeforeFirst(value));
|
|
25
|
+
}
|
|
26
|
+
setRenderAfterLast(value) {
|
|
27
|
+
this.dispatch(this.slice.actions.setRenderAfterLast(value));
|
|
28
|
+
}
|
|
23
29
|
setVisibleTopics(tocIds) {
|
|
24
30
|
this.dispatch(this.slice.actions.setVisibleTopics(tocIds));
|
|
25
31
|
}
|
|
26
32
|
async navigateToTopic(tocId, section, pageNumber) {
|
|
27
|
-
while (this.service
|
|
33
|
+
while (this.service == null) {
|
|
28
34
|
await delay(5);
|
|
29
35
|
}
|
|
30
36
|
let page = pageNumber != null ? await this.service.getPage(pageNumber) : await this.service.getPageByTocId(tocId);
|
|
31
|
-
console.log(pageNumber, page);
|
|
32
37
|
this.dispatch(this.slice.actions.setCurrentPage(page), this.slice.actions.setScrollTarget({ tocId, section }));
|
|
33
38
|
}
|
|
34
39
|
async navigateToPage(pageNumber) {
|
|
35
|
-
while (this.service
|
|
40
|
+
while (this.service == null) {
|
|
36
41
|
await delay(5);
|
|
37
42
|
}
|
|
38
43
|
let page = await this.service.getPage(pageNumber);
|
package/build/store/model.d.ts
CHANGED
|
@@ -31,5 +31,16 @@ export interface FtReaderState {
|
|
|
31
31
|
currentPage?: FtReaderPage;
|
|
32
32
|
scrollTarget?: FtReaderScrollTarget;
|
|
33
33
|
visibleTopics: string[];
|
|
34
|
+
renderBeforeFirst: number;
|
|
35
|
+
renderAfterLast: number;
|
|
36
|
+
}
|
|
37
|
+
export interface FtReaderNavigationData {
|
|
38
|
+
mapId: string;
|
|
39
|
+
tocId: string;
|
|
40
|
+
topicTitle: string;
|
|
41
|
+
section?: string;
|
|
42
|
+
page?: number;
|
|
43
|
+
prettyUrl?: string;
|
|
44
|
+
prettyUrlDuplicated: boolean;
|
|
34
45
|
}
|
|
35
46
|
//# sourceMappingURL=model.d.ts.map
|
package/build/store/redux.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ declare const readerStateReducers: {
|
|
|
10
10
|
setCurrentPage: (state: FtReaderState, action: PayloadAction<FtReaderState["currentPage"]>) => void;
|
|
11
11
|
setScrollTarget: (state: FtReaderState, action: PayloadAction<FtReaderState["scrollTarget"]>) => void;
|
|
12
12
|
setVisibleTopics: (state: FtReaderState, action: PayloadAction<FtReaderState["visibleTopics"]>) => void;
|
|
13
|
+
setRenderBeforeFirst: (state: FtReaderState, action: PayloadAction<FtReaderState["renderBeforeFirst"]>) => void;
|
|
14
|
+
setRenderAfterLast: (state: FtReaderState, action: PayloadAction<FtReaderState["renderAfterLast"]>) => void;
|
|
13
15
|
};
|
|
14
16
|
export declare type FtReaderStateReducers = typeof readerStateReducers;
|
|
15
17
|
export declare const createReaderSlice: (id: string) => import("@reduxjs/toolkit").Slice<FtReaderState, {
|
|
@@ -22,6 +24,8 @@ export declare const createReaderSlice: (id: string) => import("@reduxjs/toolkit
|
|
|
22
24
|
setCurrentPage: (state: FtReaderState, action: PayloadAction<FtReaderState["currentPage"]>) => void;
|
|
23
25
|
setScrollTarget: (state: FtReaderState, action: PayloadAction<FtReaderState["scrollTarget"]>) => void;
|
|
24
26
|
setVisibleTopics: (state: FtReaderState, action: PayloadAction<FtReaderState["visibleTopics"]>) => void;
|
|
27
|
+
setRenderBeforeFirst: (state: FtReaderState, action: PayloadAction<FtReaderState["renderBeforeFirst"]>) => void;
|
|
28
|
+
setRenderAfterLast: (state: FtReaderState, action: PayloadAction<FtReaderState["renderAfterLast"]>) => void;
|
|
25
29
|
}, string>;
|
|
26
30
|
export {};
|
|
27
31
|
//# sourceMappingURL=redux.d.ts.map
|
package/build/store/redux.js
CHANGED
|
@@ -27,13 +27,21 @@ const readerStateReducers = {
|
|
|
27
27
|
setVisibleTopics: (state, action) => {
|
|
28
28
|
state.visibleTopics = action.payload;
|
|
29
29
|
},
|
|
30
|
+
setRenderBeforeFirst: (state, action) => {
|
|
31
|
+
state.renderBeforeFirst = action.payload;
|
|
32
|
+
},
|
|
33
|
+
setRenderAfterLast: (state, action) => {
|
|
34
|
+
state.renderAfterLast = action.payload;
|
|
35
|
+
},
|
|
30
36
|
};
|
|
31
37
|
export const createReaderSlice = (id) => createSlice({
|
|
32
38
|
name: "ft-reader-" + id,
|
|
33
39
|
initialState: {
|
|
34
40
|
baseUrl: "",
|
|
35
41
|
apiIntegrationIdentifier: "ft-reader",
|
|
36
|
-
visibleTopics: []
|
|
42
|
+
visibleTopics: [],
|
|
43
|
+
renderBeforeFirst: 2,
|
|
44
|
+
renderAfterLast: 3
|
|
37
45
|
},
|
|
38
46
|
reducers: readerStateReducers
|
|
39
47
|
});
|
|
@@ -49,7 +49,6 @@ export class FtReaderConverter {
|
|
|
49
49
|
return nodes.flatMap(node => [node.tocId, ...this.tocIds(node.children)]);
|
|
50
50
|
}
|
|
51
51
|
buildPages(pagesToBuild, nodeByTocId) {
|
|
52
|
-
const buildBreadcrumb = (n) => n.parentTocId ? [...buildBreadcrumb(nodeByTocId[n.parentTocId]), n.parentTocId] : [];
|
|
53
52
|
return pagesToBuild.map(tocId => nodeByTocId[tocId])
|
|
54
53
|
.map((node, index) => {
|
|
55
54
|
var _a, _b, _c, _d, _e;
|
|
@@ -63,7 +62,7 @@ export class FtReaderConverter {
|
|
|
63
62
|
};
|
|
64
63
|
const add = (tocId, visible) => (visible ? page.topics : page.hiddenTopics).push(tocId);
|
|
65
64
|
const parentsVisibility = (_c = (_b = node.page) === null || _b === void 0 ? void 0 : _b.parentsVisibility) !== null && _c !== void 0 ? _c : [];
|
|
66
|
-
buildBreadcrumb(node).forEach((tocId, index) => {
|
|
65
|
+
this.buildBreadcrumb(node, nodeByTocId).forEach((tocId, index) => {
|
|
67
66
|
add(tocId, parentsVisibility[index]);
|
|
68
67
|
});
|
|
69
68
|
add(node.tocId, (_d = node.page) === null || _d === void 0 ? void 0 : _d.visible);
|
|
@@ -73,6 +72,14 @@ export class FtReaderConverter {
|
|
|
73
72
|
return page;
|
|
74
73
|
});
|
|
75
74
|
}
|
|
75
|
+
buildBreadcrumb(node, nodeByTocId) {
|
|
76
|
+
const breadcrumb = [];
|
|
77
|
+
while (node === null || node === void 0 ? void 0 : node.parentTocId) {
|
|
78
|
+
breadcrumb.unshift(node.parentTocId);
|
|
79
|
+
node = nodeByTocId[node.parentTocId];
|
|
80
|
+
}
|
|
81
|
+
return breadcrumb;
|
|
82
|
+
}
|
|
76
83
|
indexPages(pages) {
|
|
77
84
|
const pageByTocId = {};
|
|
78
85
|
for (let page of pages) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FluidTopicsApi, FtMap, FtTopic } from "@fluid-topics/public-api";
|
|
2
|
-
import { FtReaderPage, FtReaderTocNode } from "../model";
|
|
2
|
+
import { FtReaderNavigationData, FtReaderPage, FtReaderTocNode } from "../model";
|
|
3
3
|
import { FtReaderConverter } from "./FtReaderConverter";
|
|
4
4
|
declare global {
|
|
5
5
|
interface Window {
|
|
@@ -22,6 +22,7 @@ export declare class FtReaderService {
|
|
|
22
22
|
private getEnrichedToc;
|
|
23
23
|
getToc(): Promise<Array<FtReaderTocNode>>;
|
|
24
24
|
getTocNode(tocId: string): Promise<FtReaderTocNode>;
|
|
25
|
+
getTocNodeOrThrow(tocId: string): FtReaderTocNode;
|
|
25
26
|
getPage(number: number): Promise<FtReaderPage>;
|
|
26
27
|
getPageByTocId(tocId: string): Promise<FtReaderPage>;
|
|
27
28
|
private topics;
|
|
@@ -29,6 +30,8 @@ export declare class FtReaderService {
|
|
|
29
30
|
private topicContents;
|
|
30
31
|
getTopicContent(contentId: string): Promise<string>;
|
|
31
32
|
getLink(tocId?: string, pageNumber?: number, section?: string): string;
|
|
33
|
+
getNavigationData(tocId?: string, pageNumber?: number, section?: string): FtReaderNavigationData;
|
|
34
|
+
getAccurateNavigationData(tocId?: string, pageNumber?: number, section?: string): Promise<FtReaderNavigationData>;
|
|
32
35
|
private loadIfNeeded;
|
|
33
36
|
}
|
|
34
37
|
//# sourceMappingURL=FtReaderService.d.ts.map
|
|
@@ -40,6 +40,12 @@ export class FtReaderService {
|
|
|
40
40
|
const enrichedToc = await this.getEnrichedToc();
|
|
41
41
|
return enrichedToc.nodeByTocId[tocId];
|
|
42
42
|
}
|
|
43
|
+
getTocNodeOrThrow(tocId) {
|
|
44
|
+
if (typeof this.enrichedToc === "boolean") {
|
|
45
|
+
throw new Error("Toc node" + this.enrichedToc ? " still loading" : " loading failed");
|
|
46
|
+
}
|
|
47
|
+
return this.enrichedToc.nodeByTocId[tocId];
|
|
48
|
+
}
|
|
43
49
|
async getPage(number) {
|
|
44
50
|
const enrichedToc = await this.getEnrichedToc();
|
|
45
51
|
return enrichedToc.pages[number - 1] || enrichedToc.pages[0];
|
|
@@ -55,24 +61,41 @@ export class FtReaderService {
|
|
|
55
61
|
return this.loadIfNeeded(() => this.topicContents[contentId], v => this.topicContents[contentId] = v, () => this.api.getTopicHTMLContent(this.mapId, contentId, "DESIGNED_READER"));
|
|
56
62
|
}
|
|
57
63
|
getLink(tocId, pageNumber, section) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
let url = new URL(path, this.baseUrl);
|
|
64
|
-
let page = enrichedToc === null || enrichedToc === void 0 ? void 0 : enrichedToc.pageByTocId[tocId];
|
|
65
|
-
if (pageNumber && page && page.number !== pageNumber) {
|
|
66
|
-
url.searchParams.set("page", `${pageNumber}`);
|
|
64
|
+
const navigationData = this.getNavigationData(tocId, pageNumber, section);
|
|
65
|
+
const path = "r/" + (navigationData.prettyUrl ? navigationData.prettyUrl : `${navigationData.mapId}/${navigationData.tocId}`);
|
|
66
|
+
const url = new URL(path, this.baseUrl);
|
|
67
|
+
if (navigationData.page != null) {
|
|
68
|
+
url.searchParams.set("page", `${navigationData.page}`);
|
|
67
69
|
}
|
|
68
|
-
if (
|
|
69
|
-
url.searchParams.set("tocId", tocId);
|
|
70
|
+
if (navigationData.prettyUrlDuplicated) {
|
|
71
|
+
url.searchParams.set("tocId", navigationData.tocId);
|
|
70
72
|
}
|
|
71
|
-
if (section) {
|
|
72
|
-
url.searchParams.set("section", section);
|
|
73
|
+
if (navigationData.section != null) {
|
|
74
|
+
url.searchParams.set("section", navigationData.section);
|
|
73
75
|
}
|
|
74
76
|
return url.href;
|
|
75
77
|
}
|
|
78
|
+
getNavigationData(tocId, pageNumber, section) {
|
|
79
|
+
var _a, _b;
|
|
80
|
+
tocId = tocId || "root";
|
|
81
|
+
const enrichedToc = typeof this.enrichedToc === "object" ? this.enrichedToc : undefined;
|
|
82
|
+
const page = enrichedToc === null || enrichedToc === void 0 ? void 0 : enrichedToc.pageByTocId[tocId];
|
|
83
|
+
const node = enrichedToc === null || enrichedToc === void 0 ? void 0 : enrichedToc.nodeByTocId[tocId];
|
|
84
|
+
const prettyUrl = node === null || node === void 0 ? void 0 : node.prettyUrl;
|
|
85
|
+
return {
|
|
86
|
+
mapId: this.mapId,
|
|
87
|
+
tocId,
|
|
88
|
+
topicTitle: (_a = node === null || node === void 0 ? void 0 : node.title) !== null && _a !== void 0 ? _a : "",
|
|
89
|
+
page: pageNumber && page && page.number !== pageNumber ? pageNumber : undefined,
|
|
90
|
+
prettyUrl: prettyUrl != null ? prettyUrl.replace(/^r\//, "") : undefined,
|
|
91
|
+
prettyUrlDuplicated: (_b = enrichedToc === null || enrichedToc === void 0 ? void 0 : enrichedToc.duplicatedPrettyUrls.has(prettyUrl !== null && prettyUrl !== void 0 ? prettyUrl : "")) !== null && _b !== void 0 ? _b : false,
|
|
92
|
+
section: section
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
async getAccurateNavigationData(tocId, pageNumber, section) {
|
|
96
|
+
await this.getEnrichedToc();
|
|
97
|
+
return this.getNavigationData(tocId, pageNumber, section);
|
|
98
|
+
}
|
|
76
99
|
async loadIfNeeded(get, set, load) {
|
|
77
100
|
if (get() === undefined) {
|
|
78
101
|
set(true);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-reader-context",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.11",
|
|
4
4
|
"description": "Context block for integrated reader components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Lit"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@fluid-topics/ft-wc-utils": "0.3.
|
|
22
|
+
"@fluid-topics/ft-wc-utils": "0.3.11",
|
|
23
23
|
"@reduxjs/toolkit": "^1.6.2",
|
|
24
24
|
"lit": "2.2.8"
|
|
25
25
|
},
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@fluid-topics/public-api": "1.0.22"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "35c790329a8e7f9902aad2ea8d41386e5c0b36c9"
|
|
33
33
|
}
|