@fluid-topics/ft-reader-content 1.2.6 → 1.2.8

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.
@@ -38,7 +38,7 @@
38
38
  data-item-index="${t}">
39
39
  ${s?(()=>{let l=this.renderItem(e,t);return typeof l=="string"?(0,X.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.renderedIndexes.add(e):this.renderApprovalTimeouts[e]=void 0,this.requestUpdate()},300))}inRenderRange(e){return e>=this.visibleItems[0]-this.renderBeforeFirst&&e<=xe(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.renderedIndexes.add(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=this.getOffset(e.target),s=(t=e.composedPath().find(i=>typeof i.matches=="function"&&i.matches(".item-container")))===null||t===void 0?void 0:t.getAttribute("data-item-index");this.scrollRestorationItem=s==null?this.scrollRestorationItem:+s,this.scrollRestorationOffset=r-this.getOffset(this.scrollRestorationItem),this.scrollable.scrollTop=r}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 i=Math.floor((s-r)/2)+r,l=t[i],a=this.getOffset(l);return a>e?this.searchFirstVisibleItem(e,t,r,i-1):a+l.clientHeight<e?this.searchFirstVisibleItem(e,t,i+1,s):l}get shouldRestoreScroll(){return this._shouldRestoreScroll}set shouldRestoreScroll(e){let t=e&&!this._shouldRestoreScroll;this._shouldRestoreScroll=e,t&&requestAnimationFrame(this.scrollAdjustment)}update(e){super.update(e),e.has("items")&&(this.renderedIndexes=new Set,this.renderApprovalTimeouts=[]),((e.has("scrollToItem")||e.has("scrollToIndex"))&&(this.scrollToItem!=null||this.scrollToIndex!=null)||e.has("internalScroll"))&&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)}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.scrolling)),this.cancelableDispatchEvent.then(()=>this.dispatchEvent(new L(this.visibleItems,this.visibleItems.map(t=>this.items[t])))).catch(()=>null)}};h.styles=J;p([(0,d.property)({type:Array})],h.prototype,"items",void 0);p([(0,d.property)({attribute:!1})],h.prototype,"renderItem",void 0);p([(0,d.property)({attribute:!1})],h.prototype,"getItemKey",void 0);p([(0,d.property)({type:Object})],h.prototype,"scrollToItem",void 0);p([(0,d.property)({type:Number})],h.prototype,"scrollToIndex",void 0);p([(0,d.property)({type:Boolean})],h.prototype,"internalScroll",void 0);p([(0,d.property)({type:Number})],h.prototype,"renderBeforeFirst",void 0);p([(0,d.property)({type:Number})],h.prototype,"renderAfterLast",void 0);p([(0,d.property)({type:Boolean})],h.prototype,"ensureScrollToTarget",void 0);p([(0,d.state)({hasChanged(o,e){return o!=null&&e==null||o.length!==e.length||o[0]!==e[0]}})],h.prototype,"visibleItems",void 0);p([(0,d.query)(".scrollable")],h.prototype,"internalScrollable",void 0);p([(0,d.query)(".items-container")],h.prototype,"itemsContainer",void 0);p([(0,d.state)()],h.prototype,"scrolledToTarget",void 0);p([(0,d.state)()],h.prototype,"scrolling",void 0);p([(0,d.state)({hasChanged:c.hasChanged})],h.prototype,"renderedIndexes",void 0);(0,Y.customElement)("ft-infinite-scroll")(h);var ee=n(u()),Fe={},te=ee.css`
41
+ `}prepareRenderIfNeeded(e){let t=this.renderApprovalTimeouts[e]!=null;this.inRenderRange(e)&&!t&&(this.renderApprovalTimeouts[e]=setTimeout(()=>{this.inRenderRange(e)?this.renderedIndexes.add(e):this.renderApprovalTimeouts[e]=void 0,this.requestUpdate()},300))}inRenderRange(e){return e>=this.visibleItems[0]-this.renderBeforeFirst&&e<=xe(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.renderedIndexes.add(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),i=(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=i==null?this.scrollRestorationItem:+i,this.scrollRestorationOffset=s-this.getOffset(this.scrollRestorationItem),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 i=Math.floor((s-r)/2)+r,l=t[i],a=this.getOffset(l);return a>e?this.searchFirstVisibleItem(e,t,r,i-1):a+l.clientHeight<e?this.searchFirstVisibleItem(e,t,i+1,s):l}get shouldRestoreScroll(){return this._shouldRestoreScroll}set shouldRestoreScroll(e){let t=e&&!this._shouldRestoreScroll;this._shouldRestoreScroll=e,t&&requestAnimationFrame(this.scrollAdjustment)}update(e){super.update(e),e.has("items")&&(this.renderedIndexes=new Set,this.renderApprovalTimeouts=[]),((e.has("scrollToItem")||e.has("scrollToIndex"))&&(this.scrollToItem!=null||this.scrollToIndex!=null)||e.has("internalScroll"))&&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)}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.scrolling)),this.cancelableDispatchEvent.then(()=>this.dispatchEvent(new L(this.visibleItems,this.visibleItems.map(t=>this.items[t])))).catch(()=>null)}};h.styles=J;p([(0,d.property)({type:Array})],h.prototype,"items",void 0);p([(0,d.property)({attribute:!1})],h.prototype,"renderItem",void 0);p([(0,d.property)({attribute:!1})],h.prototype,"getItemKey",void 0);p([(0,d.property)({type:Object})],h.prototype,"scrollToItem",void 0);p([(0,d.property)({type:Number})],h.prototype,"scrollToIndex",void 0);p([(0,d.property)({type:Boolean})],h.prototype,"internalScroll",void 0);p([(0,d.property)({type:Number})],h.prototype,"renderBeforeFirst",void 0);p([(0,d.property)({type:Number})],h.prototype,"renderAfterLast",void 0);p([(0,d.property)({type:Boolean})],h.prototype,"ensureScrollToTarget",void 0);p([(0,d.state)({hasChanged(o,e){return o!=null&&e==null||o.length!==e.length||o[0]!==e[0]}})],h.prototype,"visibleItems",void 0);p([(0,d.query)(".scrollable")],h.prototype,"internalScrollable",void 0);p([(0,d.query)(".items-container")],h.prototype,"itemsContainer",void 0);p([(0,d.state)()],h.prototype,"scrolledToTarget",void 0);p([(0,d.state)()],h.prototype,"scrolling",void 0);p([(0,d.state)({hasChanged:c.hasChanged})],h.prototype,"renderedIndexes",void 0);(0,Y.customElement)("ft-infinite-scroll")(h);var ee=n(u()),Fe={},te=ee.css`
42
42
  `;var le=n(m());var ie=n(u()),R=n(T());var re=n(u());var se=re.css`
43
43
  `;var oe=n(m()),C=function(o,e,t,r){var s=arguments.length,i=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(o,e,t,r);else for(var a=o.length-1;a>=0;a--)(l=o[a])&&(i=(s<3?l(i):s>3?l(e,t,i):l(e,t))||i);return s>3&&i&&Object.defineProperty(e,t,i),i},v=class extends I{constructor(){super(...arguments),this.disableContextInteractions=!1,this.registeredComponents=[]}render(){return ie.html`
44
44
  <article id=${this.tocId}>
@@ -87,7 +87,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:r.extend("--ft-conte
87
87
  data-item-index="${t}">
88
88
  ${a?(()=>{let s=this.renderItem(e,t);return typeof s=="string"?bo(s):s})():W}
89
89
  </div>
90
- `}prepareRenderIfNeeded(e){let t=this.renderApprovalTimeouts[e]!=null;this.inRenderRange(e)&&!t&&(this.renderApprovalTimeouts[e]=setTimeout(()=>{this.inRenderRange(e)?this.renderedIndexes.add(e):this.renderApprovalTimeouts[e]=void 0,this.requestUpdate()},300))}inRenderRange(e){return e>=this.visibleItems[0]-this.renderBeforeFirst&&e<=tu(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=wt.findFirstScrollableParent(this.itemsContainer));let t=this.resolveScrollToIndex();this.renderedIndexes.add(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,n,a;return(n=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(`#item-${e}`))!==null&&n!==void 0?n:(a=this.shadowRoot)===null||a===void 0?void 0:a.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 n=this.getOffset(e.target),a=(t=e.composedPath().find(i=>typeof i.matches=="function"&&i.matches(".item-container")))===null||t===void 0?void 0:t.getAttribute("data-item-index");this.scrollRestorationItem=a==null?this.scrollRestorationItem:+a,this.scrollRestorationOffset=n-this.getOffset(this.scrollRestorationItem),this.scrollable.scrollTop=n}getOffset(e){let t=typeof e=="number"?this.getItem(e):e;return t?wt.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,n,a){if(n=n??0,a=a??t.length-1,a<=n)return t[n];let i=Math.floor((a-n)/2)+n,s=t[i],l=this.getOffset(s);return l>e?this.searchFirstVisibleItem(e,t,n,i-1):l+s.clientHeight<e?this.searchFirstVisibleItem(e,t,i+1,a):s}get shouldRestoreScroll(){return this._shouldRestoreScroll}set shouldRestoreScroll(e){let t=e&&!this._shouldRestoreScroll;this._shouldRestoreScroll=e,t&&requestAnimationFrame(this.scrollAdjustment)}update(e){super.update(e),e.has("items")&&(this.renderedIndexes=new Set,this.renderApprovalTimeouts=[]),((e.has("scrollToItem")||e.has("scrollToIndex"))&&(this.scrollToItem!=null||this.scrollToIndex!=null)||e.has("internalScroll"))&&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 Jn)}onVisibleItemsChange(){this.visibleItems.every((t,n)=>this.visibleItems[n+1]==null||t+1===this.visibleItems[n+1])||et(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=zt(_o(()=>!this.scrolling)),this.cancelableDispatchEvent.then(()=>this.dispatchEvent(new Yn(this.visibleItems,this.visibleItems.map(t=>this.items[t])))).catch(()=>null)}};H.styles=Xs;K([U({type:Array})],H.prototype,"items",void 0);K([U({attribute:!1})],H.prototype,"renderItem",void 0);K([U({attribute:!1})],H.prototype,"getItemKey",void 0);K([U({type:Object})],H.prototype,"scrollToItem",void 0);K([U({type:Number})],H.prototype,"scrollToIndex",void 0);K([U({type:Boolean})],H.prototype,"internalScroll",void 0);K([U({type:Number})],H.prototype,"renderBeforeFirst",void 0);K([U({type:Number})],H.prototype,"renderAfterLast",void 0);K([U({type:Boolean})],H.prototype,"ensureScrollToTarget",void 0);K([te({hasChanged(o,e){return o!=null&&e==null||o.length!==e.length||o[0]!==e[0]}})],H.prototype,"visibleItems",void 0);K([Ae(".scrollable")],H.prototype,"internalScrollable",void 0);K([Ae(".items-container")],H.prototype,"itemsContainer",void 0);K([te()],H.prototype,"scrolledToTarget",void 0);K([te()],H.prototype,"scrolling",void 0);K([te({hasChanged:tt})],H.prototype,"renderedIndexes",void 0);ot("ft-infinite-scroll")(H);var Ib={},Qs=M`
90
+ `}prepareRenderIfNeeded(e){let t=this.renderApprovalTimeouts[e]!=null;this.inRenderRange(e)&&!t&&(this.renderApprovalTimeouts[e]=setTimeout(()=>{this.inRenderRange(e)?this.renderedIndexes.add(e):this.renderApprovalTimeouts[e]=void 0,this.requestUpdate()},300))}inRenderRange(e){return e>=this.visibleItems[0]-this.renderBeforeFirst&&e<=tu(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=wt.findFirstScrollableParent(this.itemsContainer));let t=this.resolveScrollToIndex();this.renderedIndexes.add(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,n,a;return(n=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(`#item-${e}`))!==null&&n!==void 0?n:(a=this.shadowRoot)===null||a===void 0?void 0:a.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 n=e.composedPath()[0],a=this.getOffset(n),i=(t=e.composedPath().find(s=>typeof s.matches=="function"&&s.matches(".item-container")))===null||t===void 0?void 0:t.getAttribute("data-item-index");this.scrollRestorationItem=i==null?this.scrollRestorationItem:+i,this.scrollRestorationOffset=a-this.getOffset(this.scrollRestorationItem),this.scrollable.scrollTop=a}getOffset(e){let t=typeof e=="number"?this.getItem(e):e;return t?wt.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,n,a){if(n=n??0,a=a??t.length-1,a<=n)return t[n];let i=Math.floor((a-n)/2)+n,s=t[i],l=this.getOffset(s);return l>e?this.searchFirstVisibleItem(e,t,n,i-1):l+s.clientHeight<e?this.searchFirstVisibleItem(e,t,i+1,a):s}get shouldRestoreScroll(){return this._shouldRestoreScroll}set shouldRestoreScroll(e){let t=e&&!this._shouldRestoreScroll;this._shouldRestoreScroll=e,t&&requestAnimationFrame(this.scrollAdjustment)}update(e){super.update(e),e.has("items")&&(this.renderedIndexes=new Set,this.renderApprovalTimeouts=[]),((e.has("scrollToItem")||e.has("scrollToIndex"))&&(this.scrollToItem!=null||this.scrollToIndex!=null)||e.has("internalScroll"))&&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 Jn)}onVisibleItemsChange(){this.visibleItems.every((t,n)=>this.visibleItems[n+1]==null||t+1===this.visibleItems[n+1])||et(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=zt(_o(()=>!this.scrolling)),this.cancelableDispatchEvent.then(()=>this.dispatchEvent(new Yn(this.visibleItems,this.visibleItems.map(t=>this.items[t])))).catch(()=>null)}};H.styles=Xs;K([U({type:Array})],H.prototype,"items",void 0);K([U({attribute:!1})],H.prototype,"renderItem",void 0);K([U({attribute:!1})],H.prototype,"getItemKey",void 0);K([U({type:Object})],H.prototype,"scrollToItem",void 0);K([U({type:Number})],H.prototype,"scrollToIndex",void 0);K([U({type:Boolean})],H.prototype,"internalScroll",void 0);K([U({type:Number})],H.prototype,"renderBeforeFirst",void 0);K([U({type:Number})],H.prototype,"renderAfterLast",void 0);K([U({type:Boolean})],H.prototype,"ensureScrollToTarget",void 0);K([te({hasChanged(o,e){return o!=null&&e==null||o.length!==e.length||o[0]!==e[0]}})],H.prototype,"visibleItems",void 0);K([Ae(".scrollable")],H.prototype,"internalScrollable",void 0);K([Ae(".items-container")],H.prototype,"itemsContainer",void 0);K([te()],H.prototype,"scrolledToTarget",void 0);K([te()],H.prototype,"scrolling",void 0);K([te({hasChanged:tt})],H.prototype,"renderedIndexes",void 0);ot("ft-infinite-scroll")(H);var Ib={},Qs=M`
91
91
  `;var ec=M`
92
92
  `;var Jr=function(o,e,t,n){var a=arguments.length,i=a<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(o,e,t,n);else for(var l=o.length-1;l>=0;l--)(s=o[l])&&(i=(a<3?s(i):a>3?s(e,t,i):s(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i},Ee=class extends Me{constructor(){super(...arguments),this.disableContextInteractions=!1,this.registeredComponents=[]}render(){return J`
93
93
  <article id=${this.tocId}>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-reader-content",
3
- "version": "1.2.6",
3
+ "version": "1.2.8",
4
4
  "description": "Main content for integrated reader",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,12 +19,12 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-infinite-scroll": "1.2.6",
23
- "@fluid-topics/ft-reader-topic-content": "1.2.6",
24
- "@fluid-topics/ft-reader-topic-context": "1.2.6",
25
- "@fluid-topics/ft-reader-topic-title": "1.2.6",
26
- "@fluid-topics/ft-wc-utils": "1.2.6",
22
+ "@fluid-topics/ft-infinite-scroll": "1.2.8",
23
+ "@fluid-topics/ft-reader-topic-content": "1.2.8",
24
+ "@fluid-topics/ft-reader-topic-context": "1.2.8",
25
+ "@fluid-topics/ft-reader-topic-title": "1.2.8",
26
+ "@fluid-topics/ft-wc-utils": "1.2.8",
27
27
  "lit": "3.1.0"
28
28
  },
29
- "gitHead": "6e3206b79d8e76e981cb3f36a80f90a13cc09116"
29
+ "gitHead": "26d2cbd5aba536de63759b72e1c171449519d74e"
30
30
  }