@fluid-topics/ft-reader-content 1.1.1 → 1.1.2
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-content.min.js +21 -17
- package/package.json +7 -7
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* subject to an additional IP rights grant found at
|
|
13
13
|
* http://polymer.github.io/PATENTS.txt
|
|
14
14
|
*/
|
|
15
|
-
if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,o=window.customElements.define,e=window.customElements.get,r=window.customElements,i=new WeakMap,n=new WeakMap,s=new WeakMap,a=new WeakMap;let c;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,i){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(i))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const a=i.prototype.attributeChangedCallback,c=new Set(i.observedAttributes||[]);p(i,c,a);const l={elementClass:i,connectedCallback:i.prototype.connectedCallback,disconnectedCallback:i.prototype.disconnectedCallback,adoptedCallback:i.prototype.adoptedCallback,attributeChangedCallback:a,formAssociated:i.formAssociated,formAssociatedCallback:i.prototype.formAssociatedCallback,formDisabledCallback:i.prototype.formDisabledCallback,formResetCallback:i.prototype.formResetCallback,formStateRestoreCallback:i.prototype.formStateRestoreCallback,observedAttributes:c};this._definitionsByTag.set(t,l),this._definitionsByClass.set(i,l);let h=e.call(r,t);h||(h=f(t),o.call(r,t,h)),this===window.customElements&&(s.set(i,l),l.standInClass=h);const d=this._awaitingUpgrade.get(t);if(d){this._awaitingUpgrade.delete(t);for(const t of d)n.delete(t),u(t,l,!0)}const y=this._whenDefinedPromises.get(t);return void 0!==y&&(y.resolve(i),this._whenDefinedPromises.delete(t)),i}upgrade(){g.push(this),r.upgrade.apply(r,arguments),g.pop()}get(t){const o=this._definitionsByTag.get(t);return o?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const o=this._getDefinition(t);if(void 0!==o)return Promise.resolve(o.elementClass);let e=this._whenDefinedPromises.get(t);return void 0===e&&(e={},e.promise=new Promise((t=>e.resolve=t)),this._whenDefinedPromises.set(t,e)),e.promise}_upgradeWhenDefined(t,o,e){let r=this._awaitingUpgrade.get(o);r||this._awaitingUpgrade.set(o,r=new Set),e?r.add(t):r.delete(t)}},window.HTMLElement=function(){let o=c;if(o)return c=void 0,o;const e=s.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return o=Reflect.construct(t,[],e.standInClass),Object.setPrototypeOf(o,this.constructor.prototype),i.set(o,e),o},window.HTMLElement.prototype=t.prototype;const l=t=>t===document||t instanceof ShadowRoot,h=t=>{let o=t.getRootNode();if(!l(o)){const t=g[g.length-1];if(t instanceof CustomElementRegistry)return t;o=t.getRootNode(),l(o)||(o=a.get(o)?.getRootNode()||document)}return o.customElements},f=o=>class{static get formAssociated(){return!0}constructor(){const e=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);const r=h(e)||window.customElements,i=r._getDefinition(o);return i?u(e,i):n.set(e,r),e}connectedCallback(){const t=i.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!0)}disconnectedCallback(){const t=i.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!1)}adoptedCallback(){const t=i.get(this);t?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=i.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=i.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=i.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=i.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},p=(t,o,e)=>{if(0===o.size||void 0===e)return;const r=t.prototype.setAttribute;r&&(t.prototype.setAttribute=function(t,i){const n=t.toLowerCase();if(o.has(n)){const t=this.getAttribute(n);r.call(this,n,i),e.call(this,n,t,i)}else r.call(this,n,i)});const i=t.prototype.removeAttribute;i&&(t.prototype.removeAttribute=function(t){const r=t.toLowerCase();if(o.has(r)){const t=this.getAttribute(r);i.call(this,r),e.call(this,r,t,null)}else i.call(this,r)});const n=t.prototype.toggleAttribute;n&&(t.prototype.toggleAttribute=function(t,r){const i=t.toLowerCase();if(o.has(i)){const t=this.getAttribute(i);n.call(this,i,r);const o=this.getAttribute(i);e.call(this,i,t,o)}else n.call(this,i,r)})},d=o=>{const e=Object.getPrototypeOf(o);if(e!==window.HTMLElement)return e===t?Object.setPrototypeOf(o,window.HTMLElement):d(e)},u=(t,o,e=!1)=>{Object.setPrototypeOf(t,o.elementClass.prototype),i.set(t,o),c=t;try{new o.elementClass}catch(t){d(o.elementClass),new o.elementClass}o.attributeChangedCallback&&o.observedAttributes.forEach((e=>{t.hasAttribute(e)&&o.attributeChangedCallback.call(t,e,null,t.getAttribute(e))})),e&&o.connectedCallback&&t.isConnected&&o.connectedCallback.call(t)},y=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const o=y.apply(this,arguments);return t.customElements&&(o.customElements=t.customElements),o};let g=[document];const b=(t,o,e=void 0)=>{const r=(e?Object.getPrototypeOf(e):t.prototype)[o];t.prototype[o]=function(){g.push(this);const t=r.apply(e||this,arguments);return void 0!==t&&a.set(t,this),g.pop(),t}};b(ShadowRoot,"createElement",document),b(ShadowRoot,"importNode",document),b(Element,"insertAdjacentHTML");const m=(t,o)=>{const e=Object.getOwnPropertyDescriptor(t.prototype,o);Object.defineProperty(t.prototype,o,{...e,set(t){g.push(this),e.set.call(this,t),g.pop()}})};if(m(Element,"innerHTML"),m(ShadowRoot,"innerHTML"),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){const t=new WeakMap,o=HTMLElement.prototype.attachInternals,e=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...e){const r=o.call(this,...e);return t.set(r,this),r},e.forEach((o=>{const e=window.ElementInternals.prototype,r=e[o];e[o]=function(...o){const e=t.get(this);if(!0===i.get(e).formAssociated)return r?.call(this,...o);throw new DOMException(`Failed to execute ${r} on 'ElementInternals': The target element is not a form-associated custom element.`)}}));class r extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class n{constructor(t){const o=new Map;t.forEach(((t,e)=>{const r=t.getAttribute("name"),i=o.get(r)||[];this[+e]=t,i.push(t),o.set(r,i)})),this.length=t.length,o.forEach(((t,o)=>{t&&(1===t.length?this[o]=t[0]:this[o]=new r(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,[]),o=[];for(const e of t){const t=i.get(e);t&&!0!==t.formAssociated||o.push(e)}return new n(o)}})}}try{window.customElements.define("custom-element",null)}catch(
|
|
15
|
+
if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,o=window.customElements.define,e=window.customElements.get,r=window.customElements,i=new WeakMap,n=new WeakMap,s=new WeakMap,a=new WeakMap;let c;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,i){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(i))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const a=i.prototype.attributeChangedCallback,c=new Set(i.observedAttributes||[]);p(i,c,a);const l={elementClass:i,connectedCallback:i.prototype.connectedCallback,disconnectedCallback:i.prototype.disconnectedCallback,adoptedCallback:i.prototype.adoptedCallback,attributeChangedCallback:a,formAssociated:i.formAssociated,formAssociatedCallback:i.prototype.formAssociatedCallback,formDisabledCallback:i.prototype.formDisabledCallback,formResetCallback:i.prototype.formResetCallback,formStateRestoreCallback:i.prototype.formStateRestoreCallback,observedAttributes:c};this._definitionsByTag.set(t,l),this._definitionsByClass.set(i,l);let h=e.call(r,t);h||(h=f(t),o.call(r,t,h)),this===window.customElements&&(s.set(i,l),l.standInClass=h);const d=this._awaitingUpgrade.get(t);if(d){this._awaitingUpgrade.delete(t);for(const t of d)n.delete(t),u(t,l,!0)}const y=this._whenDefinedPromises.get(t);return void 0!==y&&(y.resolve(i),this._whenDefinedPromises.delete(t)),i}upgrade(){g.push(this),r.upgrade.apply(r,arguments),g.pop()}get(t){const o=this._definitionsByTag.get(t);return o?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const o=this._getDefinition(t);if(void 0!==o)return Promise.resolve(o.elementClass);let e=this._whenDefinedPromises.get(t);return void 0===e&&(e={},e.promise=new Promise((t=>e.resolve=t)),this._whenDefinedPromises.set(t,e)),e.promise}_upgradeWhenDefined(t,o,e){let r=this._awaitingUpgrade.get(o);r||this._awaitingUpgrade.set(o,r=new Set),e?r.add(t):r.delete(t)}},window.HTMLElement=function(){let o=c;if(o)return c=void 0,o;const e=s.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return o=Reflect.construct(t,[],e.standInClass),Object.setPrototypeOf(o,this.constructor.prototype),i.set(o,e),o},window.HTMLElement.prototype=t.prototype;const l=t=>t===document||t instanceof ShadowRoot,h=t=>{let o=t.getRootNode();if(!l(o)){const t=g[g.length-1];if(t instanceof CustomElementRegistry)return t;o=t.getRootNode(),l(o)||(o=a.get(o)?.getRootNode()||document)}return o.customElements},f=o=>class{static get formAssociated(){return!0}constructor(){const e=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);const r=h(e)||window.customElements,i=r._getDefinition(o);return i?u(e,i):n.set(e,r),e}connectedCallback(){const t=i.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!0)}disconnectedCallback(){const t=i.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!1)}adoptedCallback(){const t=i.get(this);t?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=i.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=i.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=i.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=i.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},p=(t,o,e)=>{if(0===o.size||void 0===e)return;const r=t.prototype.setAttribute;r&&(t.prototype.setAttribute=function(t,i){const n=t.toLowerCase();if(o.has(n)){const t=this.getAttribute(n);r.call(this,n,i),e.call(this,n,t,i)}else r.call(this,n,i)});const i=t.prototype.removeAttribute;i&&(t.prototype.removeAttribute=function(t){const r=t.toLowerCase();if(o.has(r)){const t=this.getAttribute(r);i.call(this,r),e.call(this,r,t,null)}else i.call(this,r)});const n=t.prototype.toggleAttribute;n&&(t.prototype.toggleAttribute=function(t,r){const i=t.toLowerCase();if(o.has(i)){const t=this.getAttribute(i);n.call(this,i,r);const o=this.getAttribute(i);e.call(this,i,t,o)}else n.call(this,i,r)})},d=o=>{const e=Object.getPrototypeOf(o);if(e!==window.HTMLElement)return e===t?Object.setPrototypeOf(o,window.HTMLElement):d(e)},u=(t,o,e=!1)=>{Object.setPrototypeOf(t,o.elementClass.prototype),i.set(t,o),c=t;try{new o.elementClass}catch(t){d(o.elementClass),new o.elementClass}o.attributeChangedCallback&&o.observedAttributes.forEach((e=>{t.hasAttribute(e)&&o.attributeChangedCallback.call(t,e,null,t.getAttribute(e))})),e&&o.connectedCallback&&t.isConnected&&o.connectedCallback.call(t)},y=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const o=y.apply(this,arguments);return t.customElements&&(o.customElements=t.customElements),o};let g=[document];const b=(t,o,e=void 0)=>{const r=(e?Object.getPrototypeOf(e):t.prototype)[o];t.prototype[o]=function(){g.push(this);const t=r.apply(e||this,arguments);return void 0!==t&&a.set(t,this),g.pop(),t}};b(ShadowRoot,"createElement",document),b(ShadowRoot,"importNode",document),b(Element,"insertAdjacentHTML");const m=(t,o)=>{const e=Object.getOwnPropertyDescriptor(t.prototype,o);Object.defineProperty(t.prototype,o,{...e,set(t){g.push(this),e.set.call(this,t),g.pop()}})};if(m(Element,"innerHTML"),m(ShadowRoot,"innerHTML"),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){const t=new WeakMap,o=HTMLElement.prototype.attachInternals,e=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...e){const r=o.call(this,...e);return t.set(r,this),r},e.forEach((o=>{const e=window.ElementInternals.prototype,r=e[o];e[o]=function(...o){const e=t.get(this);if(!0===i.get(e).formAssociated)return r?.call(this,...o);throw new DOMException(`Failed to execute ${r} on 'ElementInternals': The target element is not a form-associated custom element.`)}}));class r extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class n{constructor(t){const o=new Map;t.forEach(((t,e)=>{const r=t.getAttribute("name"),i=o.get(r)||[];this[+e]=t,i.push(t),o.set(r,i)})),this.length=t.length,o.forEach(((t,o)=>{t&&(1===t.length?this[o]=t[0]:this[o]=new r(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,[]),o=[];for(const e of t){const t=i.get(e);t&&!0!==t.formAssociated||o.push(e)}return new n(o)}})}}try{window.customElements.define("custom-element",null)}catch(ce){const t=window.customElements.define;window.customElements.define=(o,e,r)=>{if(null!==e)try{t.bind(window.customElements)(o,e,r)}catch(t){console.info(o,e,r,t)}}}class o{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,o){return this.callbacks=[t],this.debounce(o)}queue(t,o){return this.callbacks.push(t),this.debounce(o)}cancel(){this.clearTimeout(),this.resolvePromise&&this.resolvePromise(!1),this.clearPromise()}debounce(t){return null==this.promise&&(this.promise=new Promise(((t,o)=>{this.resolvePromise=t,this.rejectPromise=o}))),this.clearTimeout(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout),this.promise}async runCallbacks(){var t,o;const e=[...this.callbacks];this.callbacks=[];const r=null!==(t=this.rejectPromise)&&void 0!==t?t:()=>null,i=null!==(o=this.resolvePromise)&&void 0!==o?o:()=>null;this.clearPromise();for(let t of e)try{await t()}catch(t){return void r(t)}i(!0)}clearTimeout(){null!=this._debounce&&window.clearTimeout(this._debounce)}clearPromise(){this.promise=void 0,this.resolvePromise=void 0,this.rejectPromise=void 0}}
|
|
16
16
|
/**
|
|
17
17
|
* @license
|
|
18
18
|
* Copyright 2019 Google LLC
|
|
@@ -78,7 +78,11 @@ let Oo=class extends At{constructor(){super(...arguments),this.renderOptions={ho
|
|
|
78
78
|
* Copyright 2019 Google LLC
|
|
79
79
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
80
80
|
*/
|
|
81
|
-
const xo=window,Ro=xo.ShadowRoot&&(void 0===xo.ShadyCSS||xo.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype;class Eo extends Oo{createRenderRoot(){const t=this.constructor;t.elementDefinitions&&!t.registry&&(t.registry=new CustomElementRegistry,Object.entries(t.elementDefinitions).forEach((([o,e])=>t.registry.define(o,e))));const o={...t.shadowRootOptions,customElements:t.registry},e=this.renderOptions.creationScope=this.attachShadow(o);return((t,o)=>{Ro?t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):o.forEach((o=>{const e=document.createElement("style"),r=xo.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=o.cssText,t.appendChild(e)}))})(e,t.elementStyles),e}}var Uo,Io=function(t,o,e,r){for(var i,n=arguments.length,s=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,a=t.length-1;a>=0;a--)(i=t[a])&&(s=(n<3?i(s):n>3?i(o,e,s):i(o,e))||s);return n>3&&s&&Object.defineProperty(o,e,s),s};const Lo=Symbol("constructorPrototype"),Wo=Symbol("constructorName"),ko=Symbol("exportpartsDebouncer");class Ko extends Eo{constructor(){super(),this[Uo]=new o(5),this[Wo]=this.constructor.name,this[Lo]=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this[Wo]&&Object.setPrototypeOf(this,this[Lo])}updated(t){super.updated(t),setTimeout((()=>{this.contentAvailableCallback(t),this.scheduleExportpartsUpdate()}),0)}contentAvailableCallback(t){var o,e;if((null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll(".ft-lit-element--custom-stylesheet"))&&void 0!==e?e:[]).forEach((t=>t.remove())),this.customStylesheet){const t=document.createElement("style");t.classList.add("ft-lit-element--custom-stylesheet"),t.innerHTML=this.customStylesheet,this.shadowRoot.append(t)}}scheduleExportpartsUpdate(){this[ko].run((()=>{var t;(null===(t=this.exportpartsPrefix)||void 0===t?void 0:t.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}))}setExportpartsAttribute(t){var o,e,r,i,n,s;const a=t=>null!=t&&t.trim().length>0,c=t.filter(a).map((t=>t.trim()));if(0===c.length)return void this.removeAttribute("exportparts");const l=new Set;for(let t of null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll("[part],[exportparts]"))&&void 0!==e?e:[]){const o=null!==(i=null===(r=t.getAttribute("part"))||void 0===r?void 0:r.split(" "))&&void 0!==i?i:[],e=null!==(s=null===(n=t.getAttribute("exportparts"))||void 0===n?void 0:n.split(",").map((t=>t.split(":")[1])))&&void 0!==s?s:[];new Array(...o,...e).filter(a).map((t=>t.trim())).forEach((t=>l.add(t)))}if(0===l.size)return void this.removeAttribute("exportparts");const h=[...l.values()].flatMap((t=>c.map((o=>`${t}:${o}--${t}`))));this.setAttribute("exportparts",[...this.part,...h].join(", "))}}
|
|
81
|
+
const xo=window,Ro=xo.ShadowRoot&&(void 0===xo.ShadyCSS||xo.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype;class Eo extends Oo{createRenderRoot(){const t=this.constructor;t.elementDefinitions&&!t.registry&&(t.registry=new CustomElementRegistry,Object.entries(t.elementDefinitions).forEach((([o,e])=>t.registry.define(o,e))));const o={...t.shadowRootOptions,customElements:t.registry},e=this.renderOptions.creationScope=this.attachShadow(o);return((t,o)=>{Ro?t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):o.forEach((o=>{const e=document.createElement("style"),r=xo.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=o.cssText,t.appendChild(e)}))})(e,t.elementStyles),e}}var Uo,Io=function(t,o,e,r){for(var i,n=arguments.length,s=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,a=t.length-1;a>=0;a--)(i=t[a])&&(s=(n<3?i(s):n>3?i(o,e,s):i(o,e))||s);return n>3&&s&&Object.defineProperty(o,e,s),s};const Lo=Symbol("constructorPrototype"),Wo=Symbol("constructorName"),ko=Symbol("exportpartsDebouncer");class Ko extends Eo{constructor(){super(),this[Uo]=new o(5),this[Wo]=this.constructor.name,this[Lo]=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this[Wo]&&Object.setPrototypeOf(this,this[Lo])}updated(t){super.updated(t),setTimeout((()=>{this.contentAvailableCallback(t),this.scheduleExportpartsUpdate()}),0)}contentAvailableCallback(t){var o,e;if((null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll(".ft-lit-element--custom-stylesheet"))&&void 0!==e?e:[]).forEach((t=>t.remove())),this.customStylesheet){const t=document.createElement("style");t.classList.add("ft-lit-element--custom-stylesheet"),t.innerHTML=this.customStylesheet,this.shadowRoot.append(t)}}scheduleExportpartsUpdate(){this[ko].run((()=>{var t;(null===(t=this.exportpartsPrefix)||void 0===t?void 0:t.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}))}setExportpartsAttribute(t){var o,e,r,i,n,s;const a=t=>null!=t&&t.trim().length>0,c=t.filter(a).map((t=>t.trim()));if(0===c.length)return void this.removeAttribute("exportparts");const l=new Set;for(let t of null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll("[part],[exportparts]"))&&void 0!==e?e:[]){const o=null!==(i=null===(r=t.getAttribute("part"))||void 0===r?void 0:r.split(" "))&&void 0!==i?i:[],e=null!==(s=null===(n=t.getAttribute("exportparts"))||void 0===n?void 0:n.split(",").map((t=>t.split(":")[1])))&&void 0!==s?s:[];new Array(...o,...e).filter(a).map((t=>t.trim())).forEach((t=>l.add(t)))}if(0===l.size)return void this.removeAttribute("exportparts");const h=[...l.values()].flatMap((t=>c.map((o=>`${t}:${o}--${t}`))));this.setAttribute("exportparts",[...this.part,...h].join(", "))}}Uo=ko,Io([x()],Ko.prototype,"exportpartsPrefix",void 0),Io([function(t,o){const e=()=>JSON.parse(JSON.stringify(t));return x({type:Object,converter:{fromAttribute:t=>{if(null==t)return e();try{return JSON.parse(t)}catch{return e()}},toAttribute:t=>JSON.stringify(t)},hasChanged:(t,o)=>!I(t,o),...null!=o?o:{}})}([])],Ko.prototype,"exportpartsPrefixes",void 0),Io([x()],Ko.prototype,"customStylesheet",void 0);const Zo=So.create("--ft-utils-highlight-html-background-color","","COLOR","#FFF26E");function $o(t){var o;return null!==(o=null==t?void 0:t.isFtReduxStore)&&void 0!==o&&o}var Ao,Mo,Fo;Nt`
|
|
82
|
+
.highlight-html-match {
|
|
83
|
+
background: ${Zo};
|
|
84
|
+
}
|
|
85
|
+
`,Nt`
|
|
82
86
|
.ft-no-text-select {
|
|
83
87
|
-webkit-touch-callout: none;
|
|
84
88
|
-webkit-user-select: none;
|
|
@@ -110,17 +114,17 @@ const xo=window,Ro=xo.ShadowRoot&&(void 0===xo.ShadyCSS||xo.ShadyCSS.nativeShado
|
|
|
110
114
|
display: inline-block;
|
|
111
115
|
width: 0;
|
|
112
116
|
}
|
|
113
|
-
`;const
|
|
117
|
+
`;const Bo=Symbol("internalReduxEventsUnsubscribers"),zo=Symbol("internalStoresUnsubscribers"),Do=Symbol("internalStores");class To extends Ko{constructor(){super(...arguments),this[Ao]=new Map,this[Mo]=new Map,this[Fo]=[]}update(t){var o;super.update(t),(null===(o=this.reduxReactiveProperties)||void 0===o?void 0:o.some((o=>t.has(o))))&&this.updateFromStores()}getUnnamedStore(){if(this[Do].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[Do].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[Do].get(t)}addStore(t,o){var e;o=null!==(e=null!=o?o:$o(t)?t.name:void 0)&&void 0!==e?e:"default-store",this.unsubscribeFromStore(o),this.setupStore(o,t)}removeStore(t){const o="string"==typeof t?t:t.name;this.unsubscribeFromStore(o),this[Do].delete(o)}setupStore(t,o){this[Do].set(t,o),this.subscribeToStore(t,o),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[Do].forEach(((t,o)=>this.subscribeToStore(o,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,o)=>{const e=this.constructor.getPropertyOptions(o);if(!(null==e?void 0:e.attribute)||!this.hasAttribute("string"==typeof(null==e?void 0:e.attribute)?e.attribute:o)){const e=this.getStore(t.store);e&&(t.store?this[zo].has(t.store):this[zo].size>0)&&(this[o]=t.selector(e.getState(),this))}}))}subscribeToStore(t,o){var e;this[zo].set(t,o.subscribe((()=>this.updateFromStores()))),$o(o)&&o.eventBus&&(null===(e=this.reduxEventListeners)||void 0===e||e.forEach(((t,e)=>{if("function"==typeof this[e]&&(!t.store||o.name===t.store)){const r=t=>this[e](t);o.eventBus.addEventListener(t.eventName,r),this[Bo].push((()=>o.eventBus.removeEventListener(t.eventName,r)))}}))),this.onStoreAvailable(t)}unsubscribeFromStores(){this[zo].forEach(((t,o)=>this.unsubscribeFromStore(o))),this[Bo].forEach((t=>t())),this[Bo]=[]}unsubscribeFromStore(t){this[zo].has(t)&&this[zo].get(t)(),this[zo].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}}Ao=zo,Mo=Do,Fo=Bo,window.ftReduxStores||(window.ftReduxStores={});const Po=t=>{const o=null!=t?t:{};return(t,e)=>{var r;const i={hasChanged:(t,o)=>!I(t,o),attribute:!1,...o};x(i)(t,e);const n=t;n.reduxProperties=n.reduxProperties||new Map,n.reduxProperties.set(e,{selector:null!==(r=o.selector)&&void 0!==r?r:t=>t[e],store:o.store})}};var _o,jo,Go;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(jo=null===(_o=window.safari)||void 0===_o?void 0:_o.pushNotification)||void 0===jo||jo.toString()),function(t){t.FEEDBACK="FEEDBACK",t.RATING="RATING",t.PRINT="PRINT",t.BOOKMARK="BOOKMARK",t.COLLECTIONS="COLLECTIONS",t.PERSONAL_BOOKS="PERSONAL_BOOKS"}(Go||(Go={}));var Ho=function(t,o,e,r){for(var i,n=arguments.length,s=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,a=t.length-1;a>=0;a--)(i=t[a])&&(s=(n<3?i(s):n>3?i(o,e,s):i(o,e))||s);return n>3&&s&&Object.defineProperty(o,e,s),s};class Yo extends Event{constructor(){super("register-ft-reader-component",{bubbles:!0,composed:!0})}}const Jo=Symbol("registerInterval");class Vo extends(function(t){var o;class e extends t{constructor(){super(...arguments),this[o]=0}setReaderStateManager(t){this.clearStateManager(),this.stateManager=t,this.addStore(t.store,"reader")}clearStateManager(){this.stateManager&&(this.removeStore("reader"),this.stateManager=void 0)}get service(){var t;return null===(t=this.stateManager)||void 0===t?void 0:t.service}connectedCallback(){super.connectedCallback(),this[Jo]=window.setInterval((()=>this.tryToRegisterToContext()),50)}tryToRegisterToContext(){null!=this.stateManager?window.clearInterval(this[Jo]):this.dispatchEvent(new Yo)}disconnectedCallback(){super.disconnectedCallback(),this.clearStateManager()}}return o=Jo,Ho([R()],e.prototype,"stateManager",void 0),e}(To)){}
|
|
114
118
|
/**
|
|
115
119
|
* @license
|
|
116
120
|
* Copyright 2017 Google LLC
|
|
117
121
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
118
|
-
*/const
|
|
122
|
+
*/const qo=2,Xo=t=>(...o)=>({_$litDirective$:t,values:o});class Qo{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,o,e){this._$Ct=t,this._$AM=o,this._$Ci=e}_$AS(t,o){return this.update(t,o)}update(t,o){return this.render(...o)}}
|
|
119
123
|
/**
|
|
120
124
|
* @license
|
|
121
125
|
* Copyright 2020 Google LLC
|
|
122
126
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
123
|
-
*/const{D:
|
|
127
|
+
*/const{D:te}=pt,oe=()=>document.createComment(""),ee=(t,o,e)=>{const r=t._$AA.parentNode,i=void 0===o?t._$AB:o._$AA;if(void 0===e){const o=r.insertBefore(oe(),i),n=r.insertBefore(oe(),i);e=new te(o,n,t,t.options)}else{const o=e._$AB.nextSibling,n=e._$AM,s=n!==t;if(s){let o;e._$AQ?.(t),e._$AM=t,void 0!==e._$AP&&(o=t._$AU)!==n._$AU&&e._$AP(o)}if(o!==i||s){let t=e._$AA;for(;t!==o;){const o=t.nextSibling;r.insertBefore(t,i),t=o}}}return e},re=(t,o,e=t)=>(t._$AI(o,e),t),ie={},ne=t=>{t._$AP?.(!1,!0);let o=t._$AA;const e=t._$AB.nextSibling;for(;o!==e;){const t=o.nextSibling;o.remove(),o=t}},se=(t,o,e)=>{const r=new Map;for(let i=o;i<=e;i++)r.set(t[i],i);return r},ae=Xo(class extends Qo{constructor(t){if(super(t),t.type!==qo)throw Error("repeat() can only be used in text expressions")}ht(t,o,e){let r;void 0===e?e=o:void 0!==o&&(r=o);const i=[],n=[];let s=0;for(const o of t)i[s]=r?r(o,s):s,n[s]=e(o,s),s++;return{values:n,keys:i}}render(t,o,e){return this.ht(t,o,e).values}update(t,[o,e,r]){const i=(t=>t._$AH)(t),{values:n,keys:s}=this.ht(o,e,r);if(!Array.isArray(i))return this.dt=s,n;const a=this.dt??=[],c=[];let l,h,f=0,p=i.length-1,d=0,u=n.length-1;for(;f<=p&&d<=u;)if(null===i[f])f++;else if(null===i[p])p--;else if(a[f]===s[d])c[d]=re(i[f],n[d]),f++,d++;else if(a[p]===s[u])c[u]=re(i[p],n[u]),p--,u--;else if(a[f]===s[u])c[u]=re(i[f],n[u]),ee(t,c[u+1],i[f]),f++,u--;else if(a[p]===s[d])c[d]=re(i[p],n[d]),ee(t,i[f],i[p]),p--,d++;else if(void 0===l&&(l=se(s,d,u),h=se(a,f,p)),l.has(a[f]))if(l.has(a[p])){const o=h.get(s[d]),e=void 0!==o?i[o]:null;if(null===e){const o=ee(t,i[f]);re(o,n[d]),c[d]=o}else c[d]=re(e,n[d]),ee(t,i[f],e),i[o]=null;d++}else ne(i[p]),p--;else ne(i[f]),f++;for(;d<=u;){const o=ee(t,c[u+1]);re(o,n[d]),c[d++]=o}for(;f<=p;){const t=i[f++];null!==t&&ne(t)}return this.dt=s,((t,o=ie)=>{t._$AH=o})(t,c),q}});
|
|
124
128
|
/**
|
|
125
129
|
* @license
|
|
126
130
|
* Copyright 2017 Google LLC
|
|
@@ -131,10 +135,10 @@ const xo=window,Ro=xo.ShadowRoot&&(void 0===xo.ShadyCSS||xo.ShadyCSS.nativeShado
|
|
|
131
135
|
* Copyright 2017 Google LLC
|
|
132
136
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
133
137
|
*/
|
|
134
|
-
class
|
|
138
|
+
class ce extends Qo{constructor(t){if(super(t),this.et=X,t.type!==qo)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===X||null==t)return this.vt=void 0,this.et=t;if(t===q)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.vt;this.et=t;const o=[t];return o.raw=o,this.vt={_$litType$:this.constructor.resultType,strings:o,values:[]}}}ce.directiveName="unsafeHTML",ce.resultType=1;const le=Xo(ce),he=So.create("--ft-infinite-scroll-padding","","SIZE","0"),fe=So.create("--ft-infinite-scroll-items-gap","","SIZE","4px"),pe=So.create("--ft-infinite-scroll-item-container-min-height","","SIZE",".1px"),de=Nt`
|
|
135
139
|
.items-container {
|
|
136
140
|
position: relative;
|
|
137
|
-
padding: ${
|
|
141
|
+
padding: ${he};
|
|
138
142
|
outline: none;
|
|
139
143
|
}
|
|
140
144
|
|
|
@@ -156,7 +160,7 @@ class ae extends Xo{constructor(t){if(super(t),this.et=X,t.type!==Vo)throw Error
|
|
|
156
160
|
By adding this gap we ensure that the previous item will be fully hidden
|
|
157
161
|
and even if its size changes, it will not impact the scroll offset
|
|
158
162
|
*/
|
|
159
|
-
margin-top: ${
|
|
163
|
+
margin-top: ${fe};
|
|
160
164
|
}
|
|
161
165
|
|
|
162
166
|
.resizable:not(.rendered) {
|
|
@@ -164,33 +168,33 @@ class ae extends Xo{constructor(t){if(super(t),this.et=X,t.type!==Vo)throw Error
|
|
|
164
168
|
}
|
|
165
169
|
|
|
166
170
|
.item-container, .resizable.rendered {
|
|
167
|
-
min-height: ${
|
|
171
|
+
min-height: ${pe}
|
|
168
172
|
}
|
|
169
173
|
|
|
170
174
|
.rendered {
|
|
171
175
|
display: flow-root;
|
|
172
176
|
}
|
|
173
|
-
`;var
|
|
177
|
+
`;var ue=function(t,o,e,r){for(var i,n=arguments.length,s=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,a=t.length-1;a>=0;a--)(i=t[a])&&(s=(n<3?i(s):n>3?i(o,e,s):i(o,e))||s);return n>3&&s&&Object.defineProperty(o,e,s),s};class ye extends CustomEvent{constructor(t,o){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:o}})}}class ge extends Event{constructor(){super("scrolled-to-target")}}class be extends Ko{constructor(){super(...arguments),this.items=[],this.renderItem=()=>eo``,this.getItemKey=(t,o)=>`${o} - ${JSON.stringify(t)}`,this.internalScroll=!1,this.renderBeforeFirst=1,this.renderAfterLast=1,this.visibleItems=[],this.scrolledToTarget=!1,this.scrolling=!1,this.alreadyRenderedIndexes=new Set,this.scrollDebouncer=new o(5),this.scrollDoneDebouncer=new o(10),this.onVisibilityChange=t=>{let o=new Set(this.visibleItems),e=new Set;for(let r of t){let t=+r.target.attributes.getNamedItem("data-item-index").value;r.intersectionRect.height>0?(o.add(t),e.add(t)):e.has(t)||o.delete(t)}this.visibleItems=[...o].sort(((t,o)=>t-o))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.scrollingDebouncer=new o(100),this.scrollListener=()=>{this.scrolling=!0,this.scrollingDebouncer.run((()=>{this.scrolling=!1}))},this.onResize=t=>{this.triggerFindScrollableParent();let o=this.searchFirstVisibleItem([...this.itemsContainer.children]),e=this.scrollable.scrollTop-this.getOffset(o);for(const o of t){const t=+o.target.parentElement.getAttribute("data-item-index");(this.alreadyRenderedIndexes.has(t)||o.target.classList.contains("rendered"))&&(o.target.parentElement.style.height=o.target.clientHeight+"px")}null!=o&&null!=e&&this.scrolledToTarget&&(this.scrollable.scrollTop=this.getOffset(o)+Math.min(e,o.clientHeight))},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.itemsContainer.children].forEach((t=>{this.resizeObserver.observe(t.children.item(0)),this.intersectionObserver.observe(t)}))},this.mutationObserver=new MutationObserver(this.onMutation),this.resetVisibleItemsDebouncer=new o(10)}get scrollable(){var t;return null!==(t=this.internalScroll?this.internalScrollable:this.firstScrollableParent)&&void 0!==t?t:document.body}render(){return eo`
|
|
174
178
|
<div class="items-container ${this.internalScroll?"scrollable":""}"
|
|
175
179
|
tabindex="-1"
|
|
176
180
|
@find-scrollable-parent=${this.findScrollableParent}>
|
|
177
|
-
${
|
|
181
|
+
${ae(this.items,((t,o)=>this.getItemKey(t,o)),((t,o)=>this.renderItemContainer(t,o)))}
|
|
178
182
|
</div>
|
|
179
183
|
`}renderItemContainer(t,o){const e=!this.scrolling&&this.scrolledToTarget&&this.visibleItems.includes(o),r=this.alreadyRenderedIndexes.has(o)||this.scrolledToTarget&&o>=this.visibleItems[0]-this.renderBeforeFirst&&o<=(null!=(i=this.visibleItems)?i:[])[(null!=i?i:[]).length-1]+this.renderAfterLast;var i;r&&this.alreadyRenderedIndexes.add(o);return eo`
|
|
180
184
|
<div id="item-${o}"
|
|
181
185
|
class="item-container ${e?"visible":""}"
|
|
182
186
|
data-item-index="${o}">
|
|
183
187
|
<div class="resizable ${e?"visible":""} ${r?"rendered":""}">
|
|
184
|
-
${r?(()=>{const e=this.renderItem(t,o);return"string"==typeof e?eo`${
|
|
188
|
+
${r?(()=>{const e=this.renderItem(t,o);return"string"==typeof e?eo`${le(e)}`:e})():null}
|
|
185
189
|
</div>
|
|
186
190
|
</div>
|
|
187
|
-
`}resetScroll(){this.triggerFindScrollableParent(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.scrollDebouncer.run((()=>{var t;let o=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):-1;o>=this.items.length&&(o=-1);let e=this.getItem(o);this.scrollToTarget(e),this.scrollDoneDebouncer.run((()=>{this.onMutation(),this.scrolledToTarget=!0}))}))}getItem(t){var o;return null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelector(`#item-${t}`)}scrollToTarget(t){var o;if(t){let e=+(null!==(o=t.getAttribute("data-item-index"))&&void 0!==o?o:"0");this.scrollable&&0===e?this.scrollable.scrollTop=0:this.scrollable.scrollTop=this.getOffset(t)}}getOffset(t){var o;let e=0,r=t;for(;r&&r.offsetParent!==this.scrollable.offsetParent;)e+=r.offsetTop,r=r.offsetParent;return e+(null!==(o=null==r?void 0:r.offsetTop)&&void 0!==o?o:0)-this.scrollable.offsetTop}getBottomOffset(t){var o;return this.getOffset(t)+(null!==(o=null==t?void 0:t.clientHeight)&&void 0!==o?o:0)}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.triggerFindScrollableParent(),this.initIntersectionObserver(),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.itemsContainer,{childList:!0})}),0)}initIntersectionObserver(){this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable,rootMargin:"-8px",threshold:[0,.01,.1,1]})}triggerFindScrollableParent(){var t;null===(t=this.itemsContainer)||void 0===t||t.dispatchEvent(new Event("find-scrollable-parent",{composed:!0}))}findScrollableParent(t){var o;let e,r;t.stopPropagation();for(let o of t.composedPath()){const t=o,i=this.elementCanScroll(t);if(t.clientHeight&&t.clientHeight<t.scrollHeight&&i){e=t;break}i&&(r=t)}let i=e||r;i!==this.firstScrollableParent&&(null===(o=this.firstScrollableParent)||void 0===o||o.removeEventListener("scroll",this.scrollListener),null==i||i.addEventListener("scroll",this.scrollListener),this.firstScrollableParent=i,this.initIntersectionObserver(),this.resetScroll())}elementCanScroll(t){try{return["auto","scroll"].includes(getComputedStyle(t).overflowY)}catch(t){return!1}}searchFirstVisibleItem(t,o,e){if(o=null!=o?o:0,(e=null!=e?e:t.length-1)-o<=0)return t[o];const r=Math.floor((e-o)/2)+o;return this.getOffset(t[r])>this.scrollable.scrollTop?this.searchFirstVisibleItem(t,o,r-1):this.getBottomOffset(t[r])<this.scrollable.scrollTop?this.searchFirstVisibleItem(t,r+1,e):t[r]}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.mutationObserver.disconnect()}firstUpdated(t){super.firstUpdated(t),this.resetScroll()}update(t){super.update(t),t.has("items")&&(this.alreadyRenderedIndexes=new Set),!t.has("scrollToItem")&&!t.has("scrollToIndex")||null==this.scrollToItem&&null==this.scrollToIndex||this.resetScroll()}updated(t){super.updated(t),(t.has("visibleItems")||t.has("items"))&&this.onVisibleItemsChange(),t.has("scrolledToTarget")&&this.scrolledToTarget&&(null!=this.scrollToItem||null!=this.scrollToIndex)&&this.dispatchEvent(new
|
|
188
|
-
`,
|
|
189
|
-
`;var
|
|
191
|
+
`}resetScroll(){this.triggerFindScrollableParent(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.scrollDebouncer.run((()=>{var t;let o=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):-1;o>=this.items.length&&(o=-1);let e=this.getItem(o);this.scrollToTarget(e),this.scrollDoneDebouncer.run((()=>{this.onMutation(),this.scrolledToTarget=!0}))}))}getItem(t){var o;return null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelector(`#item-${t}`)}scrollToTarget(t){var o;if(t){let e=+(null!==(o=t.getAttribute("data-item-index"))&&void 0!==o?o:"0");this.scrollable&&0===e?this.scrollable.scrollTop=0:this.scrollable.scrollTop=this.getOffset(t)}}getOffset(t){var o;let e=0,r=t;for(;r&&r.offsetParent!==this.scrollable.offsetParent;)e+=r.offsetTop,r=r.offsetParent;return e+(null!==(o=null==r?void 0:r.offsetTop)&&void 0!==o?o:0)-this.scrollable.offsetTop}getBottomOffset(t){var o;return this.getOffset(t)+(null!==(o=null==t?void 0:t.clientHeight)&&void 0!==o?o:0)}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.triggerFindScrollableParent(),this.initIntersectionObserver(),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.itemsContainer,{childList:!0})}),0)}initIntersectionObserver(){this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable,rootMargin:"-8px",threshold:[0,.01,.1,1]})}triggerFindScrollableParent(){var t;null===(t=this.itemsContainer)||void 0===t||t.dispatchEvent(new Event("find-scrollable-parent",{composed:!0}))}findScrollableParent(t){var o;let e,r;t.stopPropagation();for(let o of t.composedPath()){const t=o,i=this.elementCanScroll(t);if(t.clientHeight&&t.clientHeight<t.scrollHeight&&i){e=t;break}i&&(r=t)}let i=e||r;i!==this.firstScrollableParent&&(null===(o=this.firstScrollableParent)||void 0===o||o.removeEventListener("scroll",this.scrollListener),null==i||i.addEventListener("scroll",this.scrollListener),this.firstScrollableParent=i,this.initIntersectionObserver(),this.resetScroll())}elementCanScroll(t){try{return["auto","scroll"].includes(getComputedStyle(t).overflowY)}catch(t){return!1}}searchFirstVisibleItem(t,o,e){if(o=null!=o?o:0,(e=null!=e?e:t.length-1)-o<=0)return t[o];const r=Math.floor((e-o)/2)+o;return this.getOffset(t[r])>this.scrollable.scrollTop?this.searchFirstVisibleItem(t,o,r-1):this.getBottomOffset(t[r])<this.scrollable.scrollTop?this.searchFirstVisibleItem(t,r+1,e):t[r]}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.mutationObserver.disconnect()}firstUpdated(t){super.firstUpdated(t),this.resetScroll()}update(t){super.update(t),t.has("items")&&(this.alreadyRenderedIndexes=new Set),!t.has("scrollToItem")&&!t.has("scrollToIndex")||null==this.scrollToItem&&null==this.scrollToIndex||this.resetScroll()}updated(t){super.updated(t),(t.has("visibleItems")||t.has("items"))&&this.onVisibleItemsChange(),t.has("scrolledToTarget")&&this.scrolledToTarget&&(null!=this.scrollToItem||null!=this.scrollToIndex)&&this.dispatchEvent(new ge)}onVisibleItemsChange(){const t=this.visibleItems.every(((t,o)=>null==this.visibleItems[o+1]||t+1===this.visibleItems[o+1]));t||I(this.visibleItems,this.lastNotOkVisibleItems)?(this.resetVisibleItemsDebouncer.cancel(),this.dispatchEvent(new ye(this.visibleItems,this.visibleItems.map((t=>this.items[t]))))):this.resetVisibleItemsDebouncer.run((()=>{this.lastNotOkVisibleItems=[...this.visibleItems],this.visibleItems=[],this.initIntersectionObserver(),this.onMutation()}))}}be.styles=de,ue([x({type:Array})],be.prototype,"items",void 0),ue([x({attribute:!1})],be.prototype,"renderItem",void 0),ue([x({attribute:!1})],be.prototype,"getItemKey",void 0),ue([x({type:Object})],be.prototype,"scrollToItem",void 0),ue([x({type:Number})],be.prototype,"scrollToIndex",void 0),ue([x({type:Boolean})],be.prototype,"internalScroll",void 0),ue([x({type:Number})],be.prototype,"renderBeforeFirst",void 0),ue([x({type:Number})],be.prototype,"renderAfterLast",void 0),ue([R({hasChanged:(t,o)=>null!=t&&null==o||t.length!==o.length||t[0]!==o[0]})],be.prototype,"visibleItems",void 0),ue([U(".scrollable")],be.prototype,"internalScrollable",void 0),ue([U(".items-container")],be.prototype,"itemsContainer",void 0),ue([R()],be.prototype,"scrolledToTarget",void 0),ue([R()],be.prototype,"scrolling",void 0),L("ft-infinite-scroll")(be);const me=Nt`
|
|
192
|
+
`,Oe=Nt`
|
|
193
|
+
`;var Ne=function(t,o,e,r){for(var i,n=arguments.length,s=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,a=t.length-1;a>=0;a--)(i=t[a])&&(s=(n<3?i(s):n>3?i(o,e,s):i(o,e))||s);return n>3&&s&&Object.defineProperty(o,e,s),s};class ve extends Vo{constructor(){super(...arguments),this.disableContextInteractions=!1,this.registeredComponents=[]}render(){return eo`
|
|
190
194
|
<article id=${this.tocId}>
|
|
191
195
|
<slot @register-ft-reader-topic-component=${this.registerComponent}></slot>
|
|
192
196
|
</article>
|
|
193
|
-
`}registerComponent(t){t.stopPropagation();const o=t.composedPath()[0];this.register(o)}register(t){this.registeredComponents.push(t),t.tocNode=this.tocNode,t.disableContextInteractions=this.disableContextInteractions}update(t){super.update(t),["mapId","tocId","stateManager"].some((o=>t.has(o)))&&this.setTocNode(),t.has("tocNode")&&this.registeredComponents.forEach((t=>t.tocNode=this.tocNode))}async setTocNode(){var t;this.tocNode=void 0,this.tocNode=this.mapId&&this.tocId?await(null===(t=this.service)||void 0===t?void 0:t.getTocNode(this.tocId)):void 0}disconnectedCallback(){super.disconnectedCallback(),this.registeredComponents=[]}}
|
|
197
|
+
`}registerComponent(t){t.stopPropagation();const o=t.composedPath()[0];this.register(o)}register(t){this.registeredComponents.push(t),t.tocNode=this.tocNode,t.disableContextInteractions=this.disableContextInteractions}update(t){super.update(t),["mapId","tocId","stateManager"].some((o=>t.has(o)))&&this.setTocNode(),t.has("tocNode")&&this.registeredComponents.forEach((t=>t.tocNode=this.tocNode))}async setTocNode(){var t;this.tocNode=void 0,this.tocNode=this.mapId&&this.tocId?await(null===(t=this.service)||void 0===t?void 0:t.getTocNode(this.tocId)):void 0}disconnectedCallback(){super.disconnectedCallback(),this.registeredComponents=[]}}ve.styles=Oe,Ne([Po({selector:t=>{var o;return null===(o=t.map)||void 0===o?void 0:o.id}})],ve.prototype,"mapId",void 0),Ne([x()],ve.prototype,"tocId",void 0),Ne([x({type:Boolean})],ve.prototype,"disableContextInteractions",void 0),Ne([R()],ve.prototype,"tocNode",void 0),L("ft-reader-topic-context")(ve);var Se=function(t,o,e,r){for(var i,n=arguments.length,s=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,a=t.length-1;a>=0;a--)(i=t[a])&&(s=(n<3?i(s):n>3?i(o,e,s):i(o,e))||s);return n>3&&s&&Object.defineProperty(o,e,s),s};class we extends Vo{constructor(){super(...arguments),this.renderTopic=()=>eo`
|
|
194
198
|
<ft-reader-topic-title></ft-reader-topic-title>
|
|
195
199
|
<ft-reader-topic-content></ft-reader-topic-content>
|
|
196
200
|
`,this.disableContextInteractions=!1,this.renderBeforeFirst=5,this.renderAfterLast=10,this.visibleTopicsDebouncer=new o(50)}render(){var t;const o=(null===(t=this.currentPage)||void 0===t?void 0:t.topics)||[];return 0===o.length?io:eo`
|
|
@@ -210,4 +214,4 @@ class ae extends Xo{constructor(t){if(super(t),this.et=X,t.type!==Vo)throw Error
|
|
|
210
214
|
<ft-reader-topic-context tocId="${t}" ?disableContextInteractions=${this.disableContextInteractions}>
|
|
211
215
|
${this.renderTopic(t,o)}
|
|
212
216
|
</ft-reader-topic-context>
|
|
213
|
-
`}getScrollTarget(){var t,o,e,r,i;if(this.disableContextInteractions)return null;const n=null!==(r=null===(t=this.visibleTopics)||void 0===t?void 0:t.includes(null!==(e=null===(o=this.scrollTarget)||void 0===o?void 0:o.tocId)&&void 0!==e?e:""))&&void 0!==r&&r;return!(null===(i=this.scrollTarget)||void 0===i?void 0:i.tocId)||n&&null!=this.scrollTarget.section?null:this.scrollTarget.tocId}visibleTopicChange(t){this.disableContextInteractions||this.visibleTopicsDebouncer.run((()=>{var o;return null===(o=this.stateManager)||void 0===o?void 0:o.setVisibleTopics(t.detail.visibleItems)}))}onScrollDone(){var t,o;this.disableContextInteractions||(null===(t=this.scrollTarget)||void 0===t?void 0:t.section)||null===(o=this.stateManager)||void 0===o||o.scrollDone()}}
|
|
217
|
+
`}getScrollTarget(){var t,o,e,r,i;if(this.disableContextInteractions)return null;const n=null!==(r=null===(t=this.visibleTopics)||void 0===t?void 0:t.includes(null!==(e=null===(o=this.scrollTarget)||void 0===o?void 0:o.tocId)&&void 0!==e?e:""))&&void 0!==r&&r;return!(null===(i=this.scrollTarget)||void 0===i?void 0:i.tocId)||n&&null!=this.scrollTarget.section?null:this.scrollTarget.tocId}visibleTopicChange(t){this.disableContextInteractions||this.visibleTopicsDebouncer.run((()=>{var o;return null===(o=this.stateManager)||void 0===o?void 0:o.setVisibleTopics(t.detail.visibleItems)}))}onScrollDone(){var t,o;this.disableContextInteractions||(null===(t=this.scrollTarget)||void 0===t?void 0:t.section)||null===(o=this.stateManager)||void 0===o||o.scrollDone()}}we.elementDefinitions={"ft-infinite-scroll":be},we.styles=me,Se([x()],we.prototype,"renderTopic",void 0),Se([x({type:Boolean})],we.prototype,"disableContextInteractions",void 0),Se([Po()],we.prototype,"currentPage",void 0),Se([Po()],we.prototype,"scrollTarget",void 0),Se([Po()],we.prototype,"visibleTopics",void 0),Se([Po({selector:t=>{var o,e;return null!==(e=null===(o=t.configuration)||void 0===o?void 0:o.loadBeforeFirstVisibleTopic)&&void 0!==e?e:5}})],we.prototype,"renderBeforeFirst",void 0),Se([Po({selector:t=>{var o,e;return null!==(e=null===(o=t.configuration)||void 0===o?void 0:o.loadAfterLastVisibleTopic)&&void 0!==e?e:5}})],we.prototype,"renderAfterLast",void 0),Se([U(".ft-reader-content")],we.prototype,"container",void 0),L("ft-reader-content")(we),t.FtReaderContent=we,t.FtReaderContentCssVariables={},t.styles=me}({});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-reader-content",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
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.1.
|
|
23
|
-
"@fluid-topics/ft-reader-topic-content": "1.1.
|
|
24
|
-
"@fluid-topics/ft-reader-topic-context": "1.1.
|
|
25
|
-
"@fluid-topics/ft-reader-topic-title": "1.1.
|
|
26
|
-
"@fluid-topics/ft-wc-utils": "1.1.
|
|
22
|
+
"@fluid-topics/ft-infinite-scroll": "1.1.2",
|
|
23
|
+
"@fluid-topics/ft-reader-topic-content": "1.1.2",
|
|
24
|
+
"@fluid-topics/ft-reader-topic-context": "1.1.2",
|
|
25
|
+
"@fluid-topics/ft-reader-topic-title": "1.1.2",
|
|
26
|
+
"@fluid-topics/ft-wc-utils": "1.1.2",
|
|
27
27
|
"lit": "3.1.0"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "53ce99f657872582bca43cbb7ad691b239b22823"
|
|
30
30
|
}
|