@fluid-topics/ft-reader-content 1.2.53 → 1.2.55
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.
|
@@ -17,6 +17,8 @@ export declare class FtReaderContent extends FtReaderComponent implements FtRead
|
|
|
17
17
|
renderAfterLast: number;
|
|
18
18
|
mapId?: string;
|
|
19
19
|
container?: FtInfiniteScroll<any>;
|
|
20
|
+
private renderItem;
|
|
21
|
+
private getItemKey;
|
|
20
22
|
protected render(): TemplateResult<1>;
|
|
21
23
|
protected renderTopicInContext(tocId: string, index: number): TemplateResult<1>;
|
|
22
24
|
protected getScrollTarget(): string | null;
|
|
@@ -22,6 +22,8 @@ class FtReaderContent extends FtReaderComponent {
|
|
|
22
22
|
this.disableContextInteractions = false;
|
|
23
23
|
this.renderBeforeFirst = 5;
|
|
24
24
|
this.renderAfterLast = 10;
|
|
25
|
+
this.renderItem = (tocId, index) => this.renderTopicInContext(tocId, index);
|
|
26
|
+
this.getItemKey = (tocId) => this.mapId + tocId;
|
|
25
27
|
this.renderedTopicsDebouncer = new Debouncer(50);
|
|
26
28
|
this.visibleTopicsDebouncer = new Debouncer(50);
|
|
27
29
|
}
|
|
@@ -31,8 +33,8 @@ class FtReaderContent extends FtReaderComponent {
|
|
|
31
33
|
return html `
|
|
32
34
|
<ft-infinite-scroll class="ft-reader-content"
|
|
33
35
|
.items=${topics}
|
|
34
|
-
.renderItem=${
|
|
35
|
-
.getItemKey=${
|
|
36
|
+
.renderItem=${this.renderItem}
|
|
37
|
+
.getItemKey=${this.getItemKey}
|
|
36
38
|
.scrollToItem=${this.getScrollTarget()}
|
|
37
39
|
?ensureScrollToTarget=${((_b = this.scrollTarget) === null || _b === void 0 ? void 0 : _b.section) == null && !window.location.hash}
|
|
38
40
|
.renderBeforeFirst=${this.renderBeforeFirst}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var fe=Object.create;var j=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,ge=Object.prototype.hasOwnProperty;var
|
|
1
|
+
"use strict";(()=>{var fe=Object.create;var j=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,ge=Object.prototype.hasOwnProperty;var C=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports);var Ie=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ve(e))!ge.call(i,s)&&s!==t&&j(i,s,{get:()=>e[s],enumerable:!(r=ue(e,s))||r.enumerable});return i};var n=(i,e,t)=>(t=i!=null?fe(be(i)):{},Ie(e||!i||!i.__esModule?j(t,"default",{value:i,enumerable:!0}):t,i));var u=C((we,H)=>{H.exports=ftGlobals.wcUtils});var b=C((Ce,K)=>{K.exports=ftGlobals.lit});var T=C((Oe,q)=>{q.exports=ftGlobals.litDecorators});var M=C((Ee,z)=>{z.exports=ftGlobals.litRepeat});var Q=C((De,J)=>{J.exports=ftGlobals.litUnsafeHTML});var me=n(u());var D=n(b()),_=n(T()),v=n(u());var W=n(u()),Z=n(T());var G;(function(i){i.clusteringHelperCreated="clustering-helper-created",i.mapAttachmentsUpdate="map-attachments-update"})(G||(G={}));var U;(function(i){i.FEEDBACK="FEEDBACK",i.RATING="RATING",i.PRINT="PRINT",i.BOOKMARK="BOOKMARK",i.COLLECTIONS="COLLECTIONS",i.PERSONAL_BOOKS="PERSONAL_BOOKS"})(U||(U={}));var xe=function(i,e,t,r){var s=arguments.length,o=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(i,e,t,r);else for(var a=i.length-1;a>=0;a--)(l=i[a])&&(o=(s<3?l(o):s>3?l(e,t,o):l(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},L=class extends Event{constructor(){super("register-ft-reader-component",{bubbles:!0,composed:!0})}},N=Symbol("registerInterval");function Te(i){var e;class t extends i{constructor(){super(...arguments),this[e]=0}setReaderStateManager(s){this.clearStateManager(),this.stateManager=s,this.addStore(s.store,"reader")}clearStateManager(){this.stateManager&&(this.removeStore("reader"),this.stateManager=void 0)}get service(){var s;return(s=this.stateManager)===null||s===void 0?void 0:s.service}connectedCallback(){super.connectedCallback(),this[N]=window.setInterval(()=>this.tryToRegisterToContext(),50)}tryToRegisterToContext(){this.stateManager!=null?window.clearInterval(this[N]):this.dispatchEvent(new L)}disconnectedCallback(){super.disconnectedCallback(),this.clearStateManager()}}return e=N,xe([(0,Z.state)()],t.prototype,"stateManager",void 0),t}var I=class extends Te(W.FtLitElementRedux){};var re=n(u());var y=n(b()),d=n(T()),ee=n(M()),c=n(u()),te=n(Q());var X=n(b()),S=n(u()),V={padding:S.FtCssVariableFactory.create("--ft-infinite-scroll-padding","","SIZE","0"),itemsGap:S.FtCssVariableFactory.create("--ft-infinite-scroll-items-gap","","SIZE","4px"),itemContainerMinHeight:S.FtCssVariableFactory.create("--ft-infinite-scroll-item-container-min-height","","SIZE",".1px")},Y=X.css`
|
|
2
2
|
.items-container {
|
|
3
3
|
padding: ${V.padding};
|
|
4
4
|
outline: none;
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
display: flow-root;
|
|
29
29
|
min-height: ${V.itemContainerMinHeight};
|
|
30
30
|
}
|
|
31
|
-
`;var m=function(i,e,t,r){var s=arguments.length,o=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(i,e,t,r);else for(var a=i.length-1;a>=0;a--)(l=i[a])&&(o=(s<3?l(o):s>3?l(e,t,o):l(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},
|
|
31
|
+
`;var m=function(i,e,t,r){var s=arguments.length,o=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(i,e,t,r);else for(var a=i.length-1;a>=0;a--)(l=i[a])&&(o=(s<3?l(o):s>3?l(e,t,o):l(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},F=class extends CustomEvent{constructor(e,t){super("visible-items-change",{detail:{indexes:e,items:t,visibleIndexes:e,visibleItems:t}})}},P=class extends CustomEvent{constructor(e,t){super("rendered-items-change",{detail:{indexes:e,items:t}})}},B=class extends Event{constructor(){super("scrolled-to-target")}},ye=i=>(i??[])[(i??[]).length-1],h=class extends c.FtLitElement{constructor(){super(...arguments),this.items=[],this.renderItem=()=>y.html``,this.getItemKey=(e,t)=>`${t} - ${JSON.stringify(e)}`,this.internalScroll=!1,this.renderBeforeFirst=1,this.renderAfterLast=1,this.ensureScrollToTarget=!1,this.visibleItems=[],this.scrolledToTarget=!1,this.scrolling=!1,this.renderApprovalTimeouts=[],this.renderedIndexes=new Set,this.scrollDebouncer=new c.Debouncer(5),this.scrollDoneDebouncer=new c.Debouncer(10),this.onVisibilityChange=e=>{let t=new Set(this.visibleItems),r=new Set;for(let s of e){let o=+s.target.getAttribute("data-item-index");s.intersectionRect.height>0?(t.add(o),r.add(o)):r.has(o)||t.delete(o)}this.visibleItems=[...t].sort((s,o)=>s-o)},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.scrollingDebouncer=new c.Debouncer(50),this.ignoreNextScrollEvent=!1,this.scrollListener=()=>{var e;let t=this.ignoreNextScrollEvent;this.ignoreNextScrollEvent=!1,t||(this.scrolling=!0,this.scrollingDebouncer.run(()=>this.scrolling=!1));let r=this.scrollable.scrollTop,s=r-((e=this.lastScrollTop)!==null&&e!==void 0?e:0);if(this.lastScrollTop=r,this.scrolledToTarget&&(this.restoreScrollIfNeeded(t?0:s),!t||this.scrollRestorationItem==null)){let o=this.searchFirstVisibleItem(r,this.itemsContainer.children);this.scrollRestorationItem=o?+o.getAttribute("data-item-index"):void 0,this.scrollRestorationOffset=r-this.getOffset(o)}},this.restoreScrollIfNeeded=(e=0)=>{var t;let r=this.scrollable.scrollHeight,s=r-((t=this.lastScrollHeight)!==null&&t!==void 0?t:r);if(this.lastScrollHeight=r,s!==0&&this.scrolledToTarget&&this.scrollRestorationItem!=null&&this.scrollRestorationOffset!=null&&!(this.scrollRestorationItem===0&&this.scrollRestorationOffset<0)){let o=this.getItem(this.scrollRestorationItem),l=this.getOffset(o),a=(0,c.minmax)(this.scrollRestorationItem===0?-l:1,this.scrollRestorationOffset,o.clientHeight-1),$=l+a+e-this.scrollable.scrollTop;(Math.abs(s-$)<4||Math.abs($)>5)&&(this.ignoreNextScrollEvent=!0,this.scrollable.scrollTop+=$)}},this._shouldRestoreScroll=!1,this.scrollAdjustment=()=>{this.restoreScrollIfNeeded(),this.shouldRestoreScroll&&requestAnimationFrame(this.scrollAdjustment)},this.onMutation=()=>{for(let e of this.itemsContainer.children)this.intersectionObserver.observe(e)},this.mutationObserver=new MutationObserver(this.onMutation),this.lastRenderedItemsLength=0,this.resetVisibleItemsDebouncer=new c.Debouncer(10)}get scrollable(){var e;return(e=this._scrollable)!==null&&e!==void 0?e:document.body}set scrollable(e){var t,r,s;this._scrollable!==e&&(this._scrollable&&(this._scrollable.removeEventListener("scroll",this.scrollListener),this.initialOverflowAnchorValue&&(this._scrollable.style.overflowAnchor=this.initialOverflowAnchorValue),c.scrollHelper.release(this,this._scrollable)),this._scrollable=c.scrollHelper.lock(this,e),e&&!this._scrollable&&console.error("Scrollable parent is already locked",this,e),(t=this._scrollable)===null||t===void 0||t.addEventListener("scroll",this.scrollListener),this.lastScrollTop=(r=this._scrollable)===null||r===void 0?void 0:r.scrollTop,this.lastScrollHeight=(s=this._scrollable)===null||s===void 0?void 0:s.scrollHeight,this._scrollable&&(this.initialOverflowAnchorValue=getComputedStyle(this._scrollable).overflowAnchor,this._scrollable.style.overflowAnchor="none"))}render(){return y.html`
|
|
32
32
|
<div @scroll-into-view="${this.onScrollIntoView}" class="items-container ${this.internalScroll?"scrollable":""}" tabindex="-1">
|
|
33
33
|
${(0,ee.repeat)(this.items,(e,t)=>this.getItemKey(e,t),(e,t)=>this.renderItemContainer(e,t))}
|
|
34
34
|
</div>
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
data-item-index="${t}">
|
|
39
39
|
${s?(()=>{let l=this.renderItem(e,t);return typeof l=="string"?(0,te.unsafeHTML)(l):l})():y.nothing}
|
|
40
40
|
</div>
|
|
41
|
-
`}prepareRenderIfNeeded(e){let t=this.renderApprovalTimeouts[e]!=null;this.inRenderRange(e)&&!t&&(this.renderApprovalTimeouts[e]=setTimeout(()=>{this.inRenderRange(e)?this.addRenderedIndex(e):this.renderApprovalTimeouts[e]=void 0,this.requestUpdate()},300))}addRenderedIndex(e){e>=0&&!this.renderedIndexes.has(e)&&this.renderedIndexes.add(e)}inRenderRange(e){return e>=this.visibleItems[0]-this.renderBeforeFirst&&e<=ye(this.visibleItems)+this.renderAfterLast}isRendered(e){return this.renderedIndexes.has(this.items.indexOf(e))}resetScroll(e=!0){this.shouldRestoreScroll=!1,this.intersectionObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.internalScroll&&this.scrollable!==this.internalScrollable?this.scrollable=this.internalScrollable:!this.internalScroll&&e&&(this.scrollable=
|
|
42
|
-
`;var ae=n(u());var ne=n(b()),
|
|
41
|
+
`}prepareRenderIfNeeded(e){let t=this.renderApprovalTimeouts[e]!=null;this.inRenderRange(e)&&!t&&(this.renderApprovalTimeouts[e]=setTimeout(()=>{this.inRenderRange(e)?this.addRenderedIndex(e):this.renderApprovalTimeouts[e]=void 0,this.requestUpdate()},300))}addRenderedIndex(e){e>=0&&!this.renderedIndexes.has(e)&&this.renderedIndexes.add(e)}inRenderRange(e){return e>=this.visibleItems[0]-this.renderBeforeFirst&&e<=ye(this.visibleItems)+this.renderAfterLast}isRendered(e){return this.renderedIndexes.has(this.items.indexOf(e))}resetScroll(e=!0){this.shouldRestoreScroll=!1,this.intersectionObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.internalScroll&&this.scrollable!==this.internalScrollable?this.scrollable=this.internalScrollable:!this.internalScroll&&e&&(this.scrollable=c.scrollHelper.findFirstScrollableParent(this.itemsContainer));let t=this.resolveScrollToIndex();this.addRenderedIndex(t),this.scrollToTarget(t),this.scrollDoneDebouncer.run(()=>{this.ensureScrollToTarget&&t>=0&&this.scrollDebouncer.run(()=>{Math.abs(this.scrollable.scrollTop-this.getOffset(t))>5&&this.scrollToTarget(t)},500),this.scrollToTarget(t),this.scrolledToTarget=!0,this.shouldRestoreScroll=!0,this.resetIntersectionObserver()})}resolveScrollToIndex(){var e;let t=(e=this.scrollToIndex)!==null&&e!==void 0?e:this.scrollToItem?this.items.indexOf(this.scrollToItem):-1;return t>=this.items.length?-1:t}getItem(e){var t,r,s;return(r=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(`#item-${e}`))!==null&&r!==void 0?r:(s=this.shadowRoot)===null||s===void 0?void 0:s.querySelector("#item-0")}scrollToTarget(e){e<=0?(this.scrollable.scrollTop=0,this.scrollRestorationOffset=-this.getOffset(e)):(this.scrollable.scrollTop=this.getOffset(e),this.scrollRestorationOffset=0),this.scrollRestorationItem=e>=0?e:void 0}onScrollIntoView(e){var t;this.scrollDebouncer.cancel();let r=e.composedPath()[0],s=this.getOffset(r),o=(t=e.composedPath().find(l=>typeof l.matches=="function"&&l.matches(".item-container")))===null||t===void 0?void 0:t.getAttribute("data-item-index");this.scrollRestorationItem=o==null?this.scrollRestorationItem:+o,this.scrollRestorationOffset=s-this.getOffset(this.scrollRestorationItem),this.ignoreNextScrollEvent=!0,this.scrollable.scrollTop=s}getOffset(e){let t=typeof e=="number"?this.getItem(e):e;return t?c.scrollHelper.getAbsoluteScrollOffset(this.scrollable,t):0}appendItems(...e){this.items=[...this.items,...e]}prependItems(...e){this.items=[...e,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout(()=>{this.mutationObserver.disconnect(),this.mutationObserver.observe(this.itemsContainer,{childList:!0}),this.resetScroll()},0)}disconnectedCallback(){super.disconnectedCallback(),this.scrollable=void 0,this.intersectionObserver.disconnect(),this.mutationObserver.disconnect(),this.shouldRestoreScroll=!1}resetIntersectionObserver(){this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable,rootMargin:"-8px",threshold:[0,.01,.1,1]}),this.onMutation()}searchFirstVisibleItem(e,t,r,s){if(r=r??0,s=s??t.length-1,s<=r)return t[r];let o=Math.floor((s-r)/2)+r,l=t[o],a=this.getOffset(l);return a>e?this.searchFirstVisibleItem(e,t,r,o-1):a+l.clientHeight<e?this.searchFirstVisibleItem(e,t,o+1,s):l}get shouldRestoreScroll(){return this._shouldRestoreScroll}set shouldRestoreScroll(e){let t=e&&!this._shouldRestoreScroll;this._shouldRestoreScroll=e,t&&requestAnimationFrame(this.scrollAdjustment)}willUpdate(e){super.willUpdate(e),e.has("items")&&(this.renderedIndexes=new Set,this.lastRenderedItemsLength=0,this.renderApprovalTimeouts=[]),((e.has("scrollToItem")||e.has("scrollToIndex"))&&(this.scrollToItem!=null||this.scrollToIndex!=null)||e.has("internalScroll"))&&(0,c.waitFor)(()=>this.itemsContainer).then(()=>this.resetScroll())}updated(e){super.updated(e),(e.has("visibleItems")||e.has("items"))&&this.onVisibleItemsChange(),e.has("scrolledToTarget")&&this.scrolledToTarget&&(this.scrollToItem!=null||this.scrollToIndex!=null)&&this.dispatchEvent(new B)}contentAvailableCallback(e){var t,r;super.contentAvailableCallback(e);let s=[...(r=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(".item-container.rendered"))!==null&&r!==void 0?r:[]].map(o=>+o.getAttribute("data-item-index"));this.lastRenderedItemsLength!==s.length&&(this.dispatchRenderedItemsChangeEvent(s),this.lastRenderedItemsLength=s.length)}dispatchRenderedItemsChangeEvent(e){let t=e??[...this.renderedIndexes].sort((r,s)=>r-s);this.dispatchEvent(new P(t,t.map(r=>this.items[r])))}onVisibleItemsChange(){this.visibleItems.every((t,r)=>this.visibleItems[r+1]==null||t+1===this.visibleItems[r+1])||(0,c.deepEqual)(this.visibleItems,this.lastNotOkVisibleItems)?(this.resetVisibleItemsDebouncer.cancel(),this.dispatchVisibleItemsEvent()):this.resetVisibleItemsDebouncer.run(()=>{this.lastNotOkVisibleItems=[...this.visibleItems],this.visibleItems=[],this.resetIntersectionObserver()})}dispatchVisibleItemsEvent(){var e;(e=this.cancelableDispatchEvent)===null||e===void 0||e.cancel(),this.cancelableDispatchEvent=(0,c.cancelable)((0,c.waitUntil)(()=>this.scrolledToTarget&&!this.scrolling)),this.cancelableDispatchEvent.then(()=>this.dispatchEvent(new F(this.visibleItems,this.visibleItems.map(t=>this.items[t])))).catch(()=>null)}};h.styles=Y;m([(0,d.property)({attribute:!1,hasChanged:c.hasChanged})],h.prototype,"items",void 0);m([(0,d.property)({attribute:!1})],h.prototype,"renderItem",void 0);m([(0,d.property)({attribute:!1})],h.prototype,"getItemKey",void 0);m([(0,d.property)({type:Object})],h.prototype,"scrollToItem",void 0);m([(0,d.property)({type:Number})],h.prototype,"scrollToIndex",void 0);m([(0,d.property)({type:Boolean})],h.prototype,"internalScroll",void 0);m([(0,d.property)({type:Number})],h.prototype,"renderBeforeFirst",void 0);m([(0,d.property)({type:Number})],h.prototype,"renderAfterLast",void 0);m([(0,d.property)({type:Boolean})],h.prototype,"ensureScrollToTarget",void 0);m([(0,d.state)({hasChanged(i,e){return i!=null&&e==null||i.length!==e.length||i[0]!==e[0]}})],h.prototype,"visibleItems",void 0);m([(0,d.query)(".scrollable")],h.prototype,"internalScrollable",void 0);m([(0,d.query)(".items-container")],h.prototype,"itemsContainer",void 0);m([(0,d.state)()],h.prototype,"scrolledToTarget",void 0);m([(0,d.state)()],h.prototype,"scrolling",void 0);(0,re.customElement)("ft-infinite-scroll")(h);var se=n(b()),ke={},ie=se.css`
|
|
42
|
+
`;var ae=n(u());var ne=n(b()),O=n(T());var oe=n(b());var le=oe.css`
|
|
43
43
|
`;var A=n(u()),R=function(i,e,t,r){var s=arguments.length,o=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(i,e,t,r);else for(var a=i.length-1;a>=0;a--)(l=i[a])&&(o=(s<3?l(o):s>3?l(e,t,o):l(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},f=class extends I{constructor(){super(...arguments),this.disableContextInteractions=!1,this.registeredComponents=[]}render(){return ne.html`
|
|
44
44
|
<article id=${this.tocId}>
|
|
45
45
|
<slot @register-ft-reader-topic-component=${this.registerComponent}></slot>
|
|
46
46
|
</article>
|
|
47
|
-
`}registerComponent(e){e.stopPropagation();let t=e.composedPath()[0];this.register(t)}register(e){this.registeredComponents.push(e),e.tocNode=this.tocNode,e.disableContextInteractions=this.disableContextInteractions}update(e){super.update(e),["mapId","tocId","stateManager","translationDestinationLanguage","translationProfileId"].some(t=>e.has(t))&&this.setTocNode(),e.has("tocNode")&&this.registeredComponents.forEach(t=>t.tocNode=this.tocNode)}async setTocNode(){var e;this.tocNode=void 0,this.tocNode=this.mapId&&this.tocId?await((e=this.stateManager)===null||e===void 0?void 0:e.getTocNode(this.tocId)):void 0}disconnectedCallback(){super.disconnectedCallback(),this.registeredComponents=[]}};f.styles=le;R([(0,A.redux)({selector:i=>{var e;return(e=i.map)===null||e===void 0?void 0:e.id}})],f.prototype,"mapId",void 0);R([(0,A.redux)({selector:i=>i.translation.profileId})],f.prototype,"translationProfileId",void 0);R([(0,A.redux)({selector:i=>i.translation.destinationLanguage})],f.prototype,"translationDestinationLanguage",void 0);R([(0,
|
|
47
|
+
`}registerComponent(e){e.stopPropagation();let t=e.composedPath()[0];this.register(t)}register(e){this.registeredComponents.push(e),e.tocNode=this.tocNode,e.disableContextInteractions=this.disableContextInteractions}update(e){super.update(e),["mapId","tocId","stateManager","translationDestinationLanguage","translationProfileId"].some(t=>e.has(t))&&this.setTocNode(),e.has("tocNode")&&this.registeredComponents.forEach(t=>t.tocNode=this.tocNode)}async setTocNode(){var e;this.tocNode=void 0,this.tocNode=this.mapId&&this.tocId?await((e=this.stateManager)===null||e===void 0?void 0:e.getTocNode(this.tocId)):void 0}disconnectedCallback(){super.disconnectedCallback(),this.registeredComponents=[]}};f.styles=le;R([(0,A.redux)({selector:i=>{var e;return(e=i.map)===null||e===void 0?void 0:e.id}})],f.prototype,"mapId",void 0);R([(0,A.redux)({selector:i=>i.translation.profileId})],f.prototype,"translationProfileId",void 0);R([(0,A.redux)({selector:i=>i.translation.destinationLanguage})],f.prototype,"translationDestinationLanguage",void 0);R([(0,O.property)()],f.prototype,"tocId",void 0);R([(0,O.property)({type:Boolean})],f.prototype,"disableContextInteractions",void 0);R([(0,O.state)()],f.prototype,"tocNode",void 0);(0,ae.customElement)("ft-reader-topic-context")(f);var de=n(u()),w=n(b()),E=n(T());var ce=n(b());var he=ce.css`
|
|
48
48
|
:host {
|
|
49
49
|
position: absolute;
|
|
50
50
|
top: 0;
|
|
@@ -77,14 +77,14 @@
|
|
|
77
77
|
</text>
|
|
78
78
|
</svg>
|
|
79
79
|
</div>
|
|
80
|
-
`:w.nothing}updated(e){if(super.updated(e),e.has("watermark")&&this.watermark){let t=this.svg.getBBox();this.svg.setAttribute("viewBox",t.x+" "+t.y+" "+t.width+" "+t.height)}}};x.styles=
|
|
80
|
+
`:w.nothing}updated(e){if(super.updated(e),e.has("watermark")&&this.watermark){let t=this.svg.getBBox();this.svg.setAttribute("viewBox",t.x+" "+t.y+" "+t.width+" "+t.height)}}};x.styles=he;k([(0,de.redux)({selector:i=>{var e;return(e=i.map)===null||e===void 0?void 0:e.watermark}})],x.prototype,"watermark",void 0);k([(0,E.query)(".ft-watermark")],x.prototype,"svg",void 0);k([(0,E.property)()],x.prototype,"height",void 0);var g=function(i,e,t,r){var s=arguments.length,o=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(i,e,t,r);else for(var a=i.length-1;a>=0;a--)(l=i[a])&&(o=(s<3?l(o):s>3?l(e,t,o):l(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},p=class extends I{constructor(){super(...arguments),this.renderTopic=()=>D.html`
|
|
81
81
|
<ft-reader-topic-title></ft-reader-topic-title>
|
|
82
82
|
<ft-reader-topic-content></ft-reader-topic-content>
|
|
83
|
-
`,this.disableContextInteractions=!1,this.renderBeforeFirst=5,this.renderAfterLast=10,this.renderedTopicsDebouncer=new v.Debouncer(50),this.visibleTopicsDebouncer=new v.Debouncer(50)}render(){var e,t,r;let s=((e=this.currentPage)===null||e===void 0?void 0:e.topics)||[];return D.html`
|
|
83
|
+
`,this.disableContextInteractions=!1,this.renderBeforeFirst=5,this.renderAfterLast=10,this.renderItem=(e,t)=>this.renderTopicInContext(e,t),this.getItemKey=e=>this.mapId+e,this.renderedTopicsDebouncer=new v.Debouncer(50),this.visibleTopicsDebouncer=new v.Debouncer(50)}render(){var e,t,r;let s=((e=this.currentPage)===null||e===void 0?void 0:e.topics)||[];return D.html`
|
|
84
84
|
<ft-infinite-scroll class="ft-reader-content"
|
|
85
85
|
.items=${s}
|
|
86
|
-
.renderItem=${
|
|
87
|
-
.getItemKey=${
|
|
86
|
+
.renderItem=${this.renderItem}
|
|
87
|
+
.getItemKey=${this.getItemKey}
|
|
88
88
|
.scrollToItem=${this.getScrollTarget()}
|
|
89
89
|
?ensureScrollToTarget=${((t=this.scrollTarget)===null||t===void 0?void 0:t.section)==null&&!window.location.hash}
|
|
90
90
|
.renderBeforeFirst=${this.renderBeforeFirst}
|
|
@@ -100,4 +100,4 @@
|
|
|
100
100
|
<ft-reader-topic-context tocId="${e}" ?disableContextInteractions=${this.disableContextInteractions}>
|
|
101
101
|
${this.renderTopic(e,t)}
|
|
102
102
|
</ft-reader-topic-context>
|
|
103
|
-
`}getScrollTarget(){var e,t,r;if(this.disableContextInteractions)return null;let s=(e=this.container)===null||e===void 0?void 0:e.isRendered((t=this.scrollTarget)===null||t===void 0?void 0:t.tocId);return!((r=this.scrollTarget)===null||r===void 0)&&r.tocId&&(!s||this.scrollTarget.section==null)?this.scrollTarget.tocId:null}renderedTopicChange(e){this.disableContextInteractions||this.renderedTopicsDebouncer.run(()=>{var t;return(t=this.stateManager)===null||t===void 0?void 0:t.setRenderedTopics(e.detail.items)})}visibleTopicChange(e){this.disableContextInteractions||this.visibleTopicsDebouncer.run(()=>{var t;return(t=this.stateManager)===null||t===void 0?void 0:t.setVisibleTopics(e.detail.items)})}onScrollDone(){var e,t;!this.disableContextInteractions&&!(!((e=this.scrollTarget)===null||e===void 0)&&e.section)&&((t=this.stateManager)===null||t===void 0||t.scrollDone())}};p.elementDefinitions={"ft-infinite-scroll":
|
|
103
|
+
`}getScrollTarget(){var e,t,r;if(this.disableContextInteractions)return null;let s=(e=this.container)===null||e===void 0?void 0:e.isRendered((t=this.scrollTarget)===null||t===void 0?void 0:t.tocId);return!((r=this.scrollTarget)===null||r===void 0)&&r.tocId&&(!s||this.scrollTarget.section==null)?this.scrollTarget.tocId:null}renderedTopicChange(e){this.disableContextInteractions||this.renderedTopicsDebouncer.run(()=>{var t;return(t=this.stateManager)===null||t===void 0?void 0:t.setRenderedTopics(e.detail.items)})}visibleTopicChange(e){this.disableContextInteractions||this.visibleTopicsDebouncer.run(()=>{var t;return(t=this.stateManager)===null||t===void 0?void 0:t.setVisibleTopics(e.detail.items)})}onScrollDone(){var e,t;!this.disableContextInteractions&&!(!((e=this.scrollTarget)===null||e===void 0)&&e.section)&&((t=this.stateManager)===null||t===void 0||t.scrollDone())}};p.elementDefinitions={"ft-infinite-scroll":h,"ft-reader-watermark":x};p.styles=ie;g([(0,_.property)()],p.prototype,"renderTopic",void 0);g([(0,_.property)({type:Boolean})],p.prototype,"disableContextInteractions",void 0);g([(0,v.redux)()],p.prototype,"currentPage",void 0);g([(0,v.redux)()],p.prototype,"scrollTarget",void 0);g([(0,v.redux)()],p.prototype,"visibleTopics",void 0);g([(0,v.redux)({selector:i=>{var e,t;return(t=(e=i.configuration)===null||e===void 0?void 0:e.loadBeforeFirstVisibleTopic)!==null&&t!==void 0?t:5}})],p.prototype,"renderBeforeFirst",void 0);g([(0,v.redux)({selector:i=>{var e,t;return(t=(e=i.configuration)===null||e===void 0?void 0:e.loadAfterLastVisibleTopic)!==null&&t!==void 0?t:5}})],p.prototype,"renderAfterLast",void 0);g([(0,v.redux)()],p.prototype,"mapId",void 0);g([(0,_.query)(".ft-reader-content")],p.prototype,"container",void 0);(0,me.customElement)("ft-reader-content")(p);})();
|