@fluid-topics/ft-infinite-scroll 0.2.22 → 0.3.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.
@@ -1,5 +1,5 @@
1
1
  import { PropertyValues, TemplateResult } from "lit";
2
- import { FtCssVariable, FtLitElement } from "@fluid-topics/ft-wc-utils";
2
+ import { FtLitElement } from "@fluid-topics/ft-wc-utils";
3
3
  export interface FtInfiniteScrollProperties<T> {
4
4
  items: Array<T>;
5
5
  renderItem: (item: T, index: number) => TemplateResult | string;
@@ -7,7 +7,7 @@ export interface FtInfiniteScrollProperties<T> {
7
7
  scrollToIndex?: number;
8
8
  }
9
9
  export declare const FtInfiniteScrollCssVariables: {
10
- padding: FtCssVariable;
10
+ padding: import("@fluid-topics/ft-wc-utils").FtCssVariable;
11
11
  };
12
12
  export declare type VisibleItems<T> = {
13
13
  visibleIndexes: Array<number>;
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { css, html } from "lit";
8
8
  import { property, query, state } from "lit/decorators.js";
9
9
  import { repeat } from "lit/directives/repeat.js";
10
- import { FtCssVariable, FtLitElement, isSafari } from "@fluid-topics/ft-wc-utils";
10
+ import { FtCssVariableFactory, FtLitElement, isSafari } from "@fluid-topics/ft-wc-utils";
11
11
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
12
12
  export const FtInfiniteScrollCssVariables = {
13
- padding: FtCssVariable.create("--ft-infinite-scroll-padding", "SIZE", "0"),
13
+ padding: FtCssVariableFactory.create("--ft-infinite-scroll-padding", "SIZE", "0"),
14
14
  };
15
15
  export class VisibleItemsChangeEvent extends CustomEvent {
16
16
  constructor(indexes, items) {
@@ -1,4 +1,4 @@
1
- !function(t,i,s,e,l,h){var o=function(t,i,s,e){for(var l,h=arguments.length,o=h<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,r=t.length-1;r>=0;r--)(l=t[r])&&(o=(h<3?l(o):h>3?l(i,s,o):l(i,s))||o);return h>3&&o&&Object.defineProperty(i,s,o),o};const r={padding:i.FtCssVariable.create("--ft-infinite-scroll-padding","SIZE","0")};class n extends CustomEvent{constructor(t,i){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:i}})}}class d extends i.FtLitElement{constructor(){super(...arguments),this.items=[],this.renderItem=()=>s.html``,this.internalScrollToIndex=0,this.visibleItems=[],this.scrolledToTarget=!1,this.onVisibilityChange=t=>{const i=t.filter((t=>t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>!this.visibleItems.includes(t))),s=t.filter((t=>!t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>this.visibleItems.includes(t))),e=[...this.visibleItems].filter((t=>!s.includes(t)));this.visibleItems=[...i,...e].sort(((t,i)=>t-i))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.onResize=t=>{let s=0;for(const i of t){let t=i.target.parentElement.clientHeight,e=i.contentRect.height;i.target.classList.contains("visible")&&(i.target.parentElement.style.height=e+"px",s+=i.target.parentElement.offsetTop<this.scrollable.scrollTop?t-e:0)}i.isSafari&&(this.scrollable.scrollTop-=s)},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.scrollable.children].forEach((t=>{this.intersectionObserver.observe(t),this.resizeObserver.observe(t.children.item(0))}))},this.mutationObserver=new MutationObserver(this.onMutation)}render(){return s.html`
1
+ !function(t,i,s,e,l,h){var o=function(t,i,s,e){for(var l,h=arguments.length,o=h<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,r=t.length-1;r>=0;r--)(l=t[r])&&(o=(h<3?l(o):h>3?l(i,s,o):l(i,s))||o);return h>3&&o&&Object.defineProperty(i,s,o),o};const r={padding:i.FtCssVariableFactory.create("--ft-infinite-scroll-padding","SIZE","0")};class n extends CustomEvent{constructor(t,i){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:i}})}}class d extends i.FtLitElement{constructor(){super(...arguments),this.items=[],this.renderItem=()=>s.html``,this.internalScrollToIndex=0,this.visibleItems=[],this.scrolledToTarget=!1,this.onVisibilityChange=t=>{const i=t.filter((t=>t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>!this.visibleItems.includes(t))),s=t.filter((t=>!t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>this.visibleItems.includes(t))),e=[...this.visibleItems].filter((t=>!s.includes(t)));this.visibleItems=[...i,...e].sort(((t,i)=>t-i))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.onResize=t=>{let s=0;for(const i of t){let t=i.target.parentElement.clientHeight,e=i.contentRect.height;i.target.classList.contains("visible")&&(i.target.parentElement.style.height=e+"px",s+=i.target.parentElement.offsetTop<this.scrollable.scrollTop?t-e:0)}i.isSafari&&(this.scrollable.scrollTop-=s)},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.scrollable.children].forEach((t=>{this.intersectionObserver.observe(t),this.resizeObserver.observe(t.children.item(0))}))},this.mutationObserver=new MutationObserver(this.onMutation)}render(){return s.html`
2
2
  <div class="scrollable" tabindex="-1">
3
3
  ${l.repeat(this.items,((t,i)=>this.renderItemContainer(t,i)))}
4
4
  </div>
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * @see https://github.com/webcomponents/polyfills/tree/master/packages/scoped-custom-element-registry
16
16
  */
17
- if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,i=window.customElements.define,e=window.customElements.get,s=window.customElements,n=new WeakMap,o=new WeakMap,r=new WeakMap,l=new WeakMap;let h;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,n){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(n))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const l=n.prototype.attributeChangedCallback,h=new Set(n.observedAttributes||[]);d(n,h,l);const a={elementClass:n,connectedCallback:n.prototype.connectedCallback,disconnectedCallback:n.prototype.disconnectedCallback,adoptedCallback:n.prototype.adoptedCallback,attributeChangedCallback:l,formAssociated:n.formAssociated,formAssociatedCallback:n.prototype.formAssociatedCallback,formDisabledCallback:n.prototype.formDisabledCallback,formResetCallback:n.prototype.formResetCallback,formStateRestoreCallback:n.prototype.formStateRestoreCallback,observedAttributes:h};this._definitionsByTag.set(t,a),this._definitionsByClass.set(n,a);let c=e.call(s,t);c||(c=u(t),i.call(s,t,c)),this===window.customElements&&(r.set(n,a),a.standInClass=c);const p=this._awaitingUpgrade.get(t);if(p){this._awaitingUpgrade.delete(t);for(const t of p)o.delete(t),f(t,a,!0)}const v=this._whenDefinedPromises.get(t);return void 0!==v&&(v.resolve(n),this._whenDefinedPromises.delete(t)),n}upgrade(){b.push(this),s.upgrade.apply(s,arguments),b.pop()}get(t){return this._definitionsByTag.get(t)?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const i=this._getDefinition(t);if(void 0!==i)return Promise.resolve(i.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,i,e){let s=this._awaitingUpgrade.get(i);s||this._awaitingUpgrade.set(i,s=new Set),e?s.add(t):s.delete(t)}},window.HTMLElement=function(){let i=h;if(i)return h=void 0,i;const e=r.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return i=Reflect.construct(t,[],e.standInClass),Object.setPrototypeOf(i,this.constructor.prototype),n.set(i,e),i},window.HTMLElement.prototype=t.prototype;const a=t=>t===document||t instanceof ShadowRoot,c=t=>{let i=t.getRootNode();if(!a(i)){const t=b[b.length-1];if(t instanceof CustomElementRegistry)return t;i=t.getRootNode(),a(i)||(i=l.get(i)?.getRootNode()||document)}return i.customElements},u=i=>class{static get formAssociated(){return!0}constructor(){const e=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);const s=c(e)||window.customElements,n=s._getDefinition(i);return n?f(e,n):o.set(e,s),e}connectedCallback(){const t=n.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):o.get(this)._upgradeWhenDefined(this,i,!0)}disconnectedCallback(){const t=n.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):o.get(this)._upgradeWhenDefined(this,i,!1)}adoptedCallback(){n.get(this)?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=n.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=n.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=n.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=n.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},d=(t,i,e)=>{if(0===i.size||void 0===e)return;const s=t.prototype.setAttribute;s&&(t.prototype.setAttribute=function(t,n){const o=t.toLowerCase();if(i.has(o)){const t=this.getAttribute(o);s.call(this,o,n),e.call(this,o,t,n)}else s.call(this,o,n)});const n=t.prototype.removeAttribute;n&&(t.prototype.removeAttribute=function(t){const s=t.toLowerCase();if(i.has(s)){const t=this.getAttribute(s);n.call(this,s),e.call(this,s,t,null)}else n.call(this,s)})},p=i=>{const e=Object.getPrototypeOf(i);if(e!==window.HTMLElement)return e===t||"HTMLElement"===e?.prototype?.constructor?.name?Object.setPrototypeOf(i,window.HTMLElement):p(e)},f=(t,i,e=!1)=>{Object.setPrototypeOf(t,i.elementClass.prototype),n.set(t,i),h=t;try{new i.elementClass}catch(t){p(i.elementClass),new i.elementClass}i.observedAttributes.forEach((e=>{t.hasAttribute(e)&&i.attributeChangedCallback.call(t,e,null,t.getAttribute(e))})),e&&i.connectedCallback&&t.isConnected&&i.connectedCallback.call(t)},v=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const i=v.apply(this,arguments);return t.customElements&&(i.customElements=t.customElements),i};let b=[document];const m=(t,i,e)=>{const s=(e?Object.getPrototypeOf(e):t.prototype)[i];t.prototype[i]=function(){b.push(this);const t=s.apply(e||this,arguments);return void 0!==t&&l.set(t,this),b.pop(),t}};m(ShadowRoot,"createElement",document),m(ShadowRoot,"importNode",document),m(Element,"insertAdjacentHTML");const x=(t,i)=>{const e=Object.getOwnPropertyDescriptor(t.prototype,i);Object.defineProperty(t.prototype,i,{...e,set(t){b.push(this),e.set.call(this,t),b.pop()}})};if(x(Element,"innerHTML"),x(ShadowRoot,"innerHTML"),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){const t=new WeakMap,i=HTMLElement.prototype.attachInternals,e=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...e){const s=i.call(this,...e);return t.set(s,this),s},e.forEach((i=>{const e=window.ElementInternals.prototype,s=e[i];e[i]=function(...i){const e=t.get(this);if(!0!==n.get(e).formAssociated)throw new DOMException(`Failed to execute ${s} on 'ElementInternals': The target element is not a form-associated custom element.`);s?.call(this,...i)}}));class s extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class o{constructor(t){const i=new Map;t.forEach(((t,e)=>{const s=t.getAttribute("name"),n=i.get(s)||[];this[+e]=t,n.push(t),i.set(s,n)})),this.length=t.length,i.forEach(((t,i)=>{t&&(1===t.length?this[i]=t[0]:this[i]=new s(t))}))}namedItem(t){return this[t]}}const r=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){const t=r.get.call(this,[]),i=[];for(const e of t){const t=n.get(e);t&&!0!==t.formAssociated||i.push(e)}return new o(i)}})}}try{window.customElements.define("custom-element",null)}catch(Rt){const t=window.customElements.define;window.customElements.define=(i,e,s)=>{try{t.bind(window.customElements)(i,e,s)}catch(t){console.warn(i,e,s,t)}}}
17
+ if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,i=window.customElements.define,e=window.customElements.get,s=window.customElements,n=new WeakMap,o=new WeakMap,r=new WeakMap,l=new WeakMap;let a;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,n){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(n))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const l=n.prototype.attributeChangedCallback,a=new Set(n.observedAttributes||[]);d(n,a,l);const h={elementClass:n,connectedCallback:n.prototype.connectedCallback,disconnectedCallback:n.prototype.disconnectedCallback,adoptedCallback:n.prototype.adoptedCallback,attributeChangedCallback:l,formAssociated:n.formAssociated,formAssociatedCallback:n.prototype.formAssociatedCallback,formDisabledCallback:n.prototype.formDisabledCallback,formResetCallback:n.prototype.formResetCallback,formStateRestoreCallback:n.prototype.formStateRestoreCallback,observedAttributes:a};this._definitionsByTag.set(t,h),this._definitionsByClass.set(n,h);let c=e.call(s,t);c||(c=u(t),i.call(s,t,c)),this===window.customElements&&(r.set(n,h),h.standInClass=c);const p=this._awaitingUpgrade.get(t);if(p){this._awaitingUpgrade.delete(t);for(const t of p)o.delete(t),f(t,h,!0)}const v=this._whenDefinedPromises.get(t);return void 0!==v&&(v.resolve(n),this._whenDefinedPromises.delete(t)),n}upgrade(){b.push(this),s.upgrade.apply(s,arguments),b.pop()}get(t){return this._definitionsByTag.get(t)?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const i=this._getDefinition(t);if(void 0!==i)return Promise.resolve(i.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,i,e){let s=this._awaitingUpgrade.get(i);s||this._awaitingUpgrade.set(i,s=new Set),e?s.add(t):s.delete(t)}},window.HTMLElement=function(){let i=a;if(i)return a=void 0,i;const e=r.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return i=Reflect.construct(t,[],e.standInClass),Object.setPrototypeOf(i,this.constructor.prototype),n.set(i,e),i},window.HTMLElement.prototype=t.prototype;const h=t=>t===document||t instanceof ShadowRoot,c=t=>{let i=t.getRootNode();if(!h(i)){const t=b[b.length-1];if(t instanceof CustomElementRegistry)return t;i=t.getRootNode(),h(i)||(i=l.get(i)?.getRootNode()||document)}return i.customElements},u=i=>class{static get formAssociated(){return!0}constructor(){const e=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);const s=c(e)||window.customElements,n=s._getDefinition(i);return n?f(e,n):o.set(e,s),e}connectedCallback(){const t=n.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):o.get(this)._upgradeWhenDefined(this,i,!0)}disconnectedCallback(){const t=n.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):o.get(this)._upgradeWhenDefined(this,i,!1)}adoptedCallback(){n.get(this)?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=n.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=n.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=n.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=n.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},d=(t,i,e)=>{if(0===i.size||void 0===e)return;const s=t.prototype.setAttribute;s&&(t.prototype.setAttribute=function(t,n){const o=t.toLowerCase();if(i.has(o)){const t=this.getAttribute(o);s.call(this,o,n),e.call(this,o,t,n)}else s.call(this,o,n)});const n=t.prototype.removeAttribute;n&&(t.prototype.removeAttribute=function(t){const s=t.toLowerCase();if(i.has(s)){const t=this.getAttribute(s);n.call(this,s),e.call(this,s,t,null)}else n.call(this,s)})},p=i=>{const e=Object.getPrototypeOf(i);if(e!==window.HTMLElement)return e===t||"HTMLElement"===e?.prototype?.constructor?.name?Object.setPrototypeOf(i,window.HTMLElement):p(e)},f=(t,i,e=!1)=>{Object.setPrototypeOf(t,i.elementClass.prototype),n.set(t,i),a=t;try{new i.elementClass}catch(t){p(i.elementClass),new i.elementClass}i.observedAttributes.forEach((e=>{t.hasAttribute(e)&&i.attributeChangedCallback.call(t,e,null,t.getAttribute(e))})),e&&i.connectedCallback&&t.isConnected&&i.connectedCallback.call(t)},v=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const i=v.apply(this,arguments);return t.customElements&&(i.customElements=t.customElements),i};let b=[document];const x=(t,i,e)=>{const s=(e?Object.getPrototypeOf(e):t.prototype)[i];t.prototype[i]=function(){b.push(this);const t=s.apply(e||this,arguments);return void 0!==t&&l.set(t,this),b.pop(),t}};x(ShadowRoot,"createElement",document),x(ShadowRoot,"importNode",document),x(Element,"insertAdjacentHTML");const m=(t,i)=>{const e=Object.getOwnPropertyDescriptor(t.prototype,i);Object.defineProperty(t.prototype,i,{...e,set(t){b.push(this),e.set.call(this,t),b.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,i=HTMLElement.prototype.attachInternals,e=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...e){const s=i.call(this,...e);return t.set(s,this),s},e.forEach((i=>{const e=window.ElementInternals.prototype,s=e[i];e[i]=function(...i){const e=t.get(this);if(!0!==n.get(e).formAssociated)throw new DOMException(`Failed to execute ${s} on 'ElementInternals': The target element is not a form-associated custom element.`);s?.call(this,...i)}}));class s extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class o{constructor(t){const i=new Map;t.forEach(((t,e)=>{const s=t.getAttribute("name"),n=i.get(s)||[];this[+e]=t,n.push(t),i.set(s,n)})),this.length=t.length,i.forEach(((t,i)=>{t&&(1===t.length?this[i]=t[0]:this[i]=new s(t))}))}namedItem(t){return this[t]}}const r=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){const t=r.get.call(this,[]),i=[];for(const e of t){const t=n.get(e);t&&!0!==t.formAssociated||i.push(e)}return new o(i)}})}}try{window.customElements.define("custom-element",null)}catch(Rt){const t=window.customElements.define;window.customElements.define=(i,e,s)=>{try{t.bind(window.customElements)(i,e,s)}catch(t){console.warn(i,e,s,t)}}}
18
18
  /**
19
19
  * @license
20
20
  * Copyright 2017 Google LLC
@@ -41,24 +41,24 @@ var n;null===(n=window.HTMLSlotElement)||void 0===n||n.prototype.assignedElement
41
41
  * Copyright 2019 Google LLC
42
42
  * SPDX-License-Identifier: BSD-3-Clause
43
43
  */
44
- const o=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),l=new Map;class h{constructor(t,i){if(this._$cssResult$=!0,i!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){let t=l.get(this.cssText);return o&&void 0===t&&(l.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}const a=t=>new h("string"==typeof t?t:t+"",r),c=(t,...i)=>{const e=1===t.length?t[0]:i.reduce(((i,e,s)=>i+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(e)+t[s+1]),t[0]);return new h(e,r)},u=(t,i)=>{o?t.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):i.forEach((i=>{const e=document.createElement("style"),s=window.litNonce;void 0!==s&&e.setAttribute("nonce",s),e.textContent=i.cssText,t.appendChild(e)}))},d=o?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let i="";for(const e of t.cssRules)i+=e.cssText;return a(i)})(t):t
44
+ const o=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),l=new WeakMap;class a{constructor(t,i,e){if(this._$cssResult$=!0,e!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=i}get styleSheet(){let t=this.o;const i=this.t;if(o&&void 0===t){const e=void 0!==i&&1===i.length;e&&(t=l.get(i)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&l.set(i,t))}return t}toString(){return this.cssText}}const h=t=>new a("string"==typeof t?t:t+"",void 0,r),c=(t,...i)=>{const e=1===t.length?t[0]:i.reduce(((i,e,s)=>i+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(e)+t[s+1]),t[0]);return new a(e,t,r)},u=(t,i)=>{o?t.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):i.forEach((i=>{const e=document.createElement("style"),s=window.litNonce;void 0!==s&&e.setAttribute("nonce",s),e.textContent=i.cssText,t.appendChild(e)}))},d=o?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let i="";for(const e of t.cssRules)i+=e.cssText;return h(i)})(t):t
45
45
  /**
46
46
  * @license
47
47
  * Copyright 2017 Google LLC
48
48
  * SPDX-License-Identifier: BSD-3-Clause
49
- */;var p;const f=window.trustedTypes,v=f?f.emptyScript:"",b=window.reactiveElementPolyfillSupport,m={toAttribute(t,i){switch(i){case Boolean:t=t?v:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let e=t;switch(i){case Boolean:e=null!==t;break;case Number:e=null===t?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch(t){e=null}}return e}},x=(t,i)=>i!==t&&(i==i||t==t),w={attribute:!0,type:String,converter:m,reflect:!1,hasChanged:x};class y extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var i;null!==(i=this.l)&&void 0!==i||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,e)=>{const s=this._$Eh(e,i);void 0!==s&&(this._$Eu.set(s,e),t.push(s))})),t}static createProperty(t,i=w){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const e="symbol"==typeof t?Symbol():"__"+t,s=this.getPropertyDescriptor(t,e,i);void 0!==s&&Object.defineProperty(this.prototype,t,s)}}static getPropertyDescriptor(t,i,e){return{get(){return this[i]},set(s){const n=this[t];this[i]=s,this.requestUpdate(t,n,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||w}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty("properties")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const e of i)this.createProperty(e,t[e])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const i=[];if(Array.isArray(t)){const e=new Set(t.flat(1/0).reverse());for(const t of e)i.unshift(d(t))}else void 0!==t&&i.push(d(t));return i}static _$Eh(t,i){const e=i.attribute;return!1===e?void 0:"string"==typeof e?e:"string"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,e;(null!==(i=this._$Eg)&&void 0!==i?i:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(e=t.hostConnected)||void 0===e||e.call(t))}removeController(t){var i;null===(i=this._$Eg)||void 0===i||i.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Et.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const i=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return u(i,this.constructor.elementStyles),i}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,e){this._$AK(t,e)}_$ES(t,i,e=w){var s,n;const o=this.constructor._$Eh(t,e);if(void 0!==o&&!0===e.reflect){const r=(null!==(n=null===(s=e.converter)||void 0===s?void 0:s.toAttribute)&&void 0!==n?n:m.toAttribute)(i,e.type);this._$Ei=t,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._$Ei=null}}_$AK(t,i){var e,s,n;const o=this.constructor,r=o._$Eu.get(t);if(void 0!==r&&this._$Ei!==r){const t=o.getPropertyOptions(r),l=t.converter,h=null!==(n=null!==(s=null===(e=l)||void 0===e?void 0:e.fromAttribute)&&void 0!==s?s:"function"==typeof l?l:null)&&void 0!==n?n:m.fromAttribute;this._$Ei=r,this[r]=h(i,t.type),this._$Ei=null}}requestUpdate(t,i,e){let s=!0;void 0!==t&&(((e=e||this.constructor.getPropertyOptions(t)).hasChanged||x)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===e.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,e))):s=!1),!this.isUpdatePending&&s&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,i)=>this[i]=t)),this._$Et=void 0);let i=!1;const e=this._$AL;try{i=this.shouldUpdate(e),i?(this.willUpdate(e),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(e)):this._$EU()}catch(t){throw i=!1,this._$EU(),t}i&&this._$AE(e)}willUpdate(t){}_$AE(t){var i;null===(i=this._$Eg)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$ES(i,this[i],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}
49
+ */;var p;const f=window.trustedTypes,v=f?f.emptyScript:"",b=window.reactiveElementPolyfillSupport,x={toAttribute(t,i){switch(i){case Boolean:t=t?v:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let e=t;switch(i){case Boolean:e=null!==t;break;case Number:e=null===t?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch(t){e=null}}return e}},m=(t,i)=>i!==t&&(i==i||t==t),y={attribute:!0,type:String,converter:x,reflect:!1,hasChanged:m};class w extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var i;null!==(i=this.h)&&void 0!==i||(this.h=[]),this.h.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,e)=>{const s=this._$Ep(e,i);void 0!==s&&(this._$Ev.set(s,e),t.push(s))})),t}static createProperty(t,i=y){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const e="symbol"==typeof t?Symbol():"__"+t,s=this.getPropertyDescriptor(t,e,i);void 0!==s&&Object.defineProperty(this.prototype,t,s)}}static getPropertyDescriptor(t,i,e){return{get(){return this[i]},set(s){const n=this[t];this[i]=s,this.requestUpdate(t,n,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||y}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const e of i)this.createProperty(e,t[e])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const i=[];if(Array.isArray(t)){const e=new Set(t.flat(1/0).reverse());for(const t of e)i.unshift(d(t))}else void 0!==t&&i.push(d(t));return i}static _$Ep(t,i){const e=i.attribute;return!1===e?void 0:"string"==typeof e?e:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,e;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(e=t.hostConnected)||void 0===e||e.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const i=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return u(i,this.constructor.elementStyles),i}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,e){this._$AK(t,e)}_$EO(t,i,e=y){var s,n;const o=this.constructor._$Ep(t,e);if(void 0!==o&&!0===e.reflect){const r=(null!==(n=null===(s=e.converter)||void 0===s?void 0:s.toAttribute)&&void 0!==n?n:x.toAttribute)(i,e.type);this._$El=t,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._$El=null}}_$AK(t,i){var e,s;const n=this.constructor,o=n._$Ev.get(t);if(void 0!==o&&this._$El!==o){const t=n.getPropertyOptions(o),r=t.converter,l=null!==(s=null!==(e=null==r?void 0:r.fromAttribute)&&void 0!==e?e:"function"==typeof r?r:null)&&void 0!==s?s:x.fromAttribute;this._$El=o,this[o]=l(i,t.type),this._$El=null}}requestUpdate(t,i,e){let s=!0;void 0!==t&&(((e=e||this.constructor.getPropertyOptions(t)).hasChanged||m)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===e.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,e))):s=!1),!this.isUpdatePending&&s&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const e=this._$AL;try{i=this.shouldUpdate(e),i?(this.willUpdate(e),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(e)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(e)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}
50
50
  /**
51
51
  * @license
52
52
  * Copyright 2017 Google LLC
53
53
  * SPDX-License-Identifier: BSD-3-Clause
54
54
  */
55
- var g;y.finalized=!0,y.elementProperties=new Map,y.elementStyles=[],y.shadowRootOptions={mode:"open"},null==b||b({ReactiveElement:y}),(null!==(p=globalThis.reactiveElementVersions)&&void 0!==p?p:globalThis.reactiveElementVersions=[]).push("1.3.2");const O=globalThis.trustedTypes,N=O?O.createPolicy("lit-html",{createHTML:t=>t}):void 0,C=`lit$${(Math.random()+"").slice(9)}$`,R="?"+C,E=`<${R}>`,S=document,M=(t="")=>S.createComment(t),$=t=>null===t||"object"!=typeof t&&"function"!=typeof t,U=Array.isArray,k=t=>{var i;return U(t)||"function"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},T=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,A=/-->/g,F=/>/g,L=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,_=/'/g,j=/"/g,B=/^(?:script|style|textarea|title)$/i,I=(t=>(i,...e)=>({_$litType$:t,strings:i,values:e}))(1),W=Symbol.for("lit-noChange"),K=Symbol.for("lit-nothing"),D=new WeakMap,H=S.createTreeWalker(S,129,null,!1),z=(t,i)=>{const e=t.length-1,s=[];let n,o=2===i?"<svg>":"",r=T;for(let i=0;i<e;i++){const e=t[i];let l,h,a=-1,c=0;for(;c<e.length&&(r.lastIndex=c,h=r.exec(e),null!==h);)c=r.lastIndex,r===T?"!--"===h[1]?r=A:void 0!==h[1]?r=F:void 0!==h[2]?(B.test(h[2])&&(n=RegExp("</"+h[2],"g")),r=L):void 0!==h[3]&&(r=L):r===L?">"===h[0]?(r=null!=n?n:T,a=-1):void 0===h[1]?a=-2:(a=r.lastIndex-h[2].length,l=h[1],r=void 0===h[3]?L:'"'===h[3]?j:_):r===j||r===_?r=L:r===A||r===F?r=T:(r=L,n=void 0);const u=r===L&&t[i+1].startsWith("/>")?" ":"";o+=r===T?e+E:a>=0?(s.push(l),e.slice(0,a)+"$lit$"+e.slice(a)+C+u):e+C+(-2===a?(s.push(void 0),i):u)}const l=o+(t[e]||"<?>")+(2===i?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==N?N.createHTML(l):l,s]};class P{constructor({strings:t,_$litType$:i},e){let s;this.parts=[];let n=0,o=0;const r=t.length-1,l=this.parts,[h,a]=z(t,i);if(this.el=P.createElement(h,e),H.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(s=H.nextNode())&&l.length<r;){if(1===s.nodeType){if(s.hasAttributes()){const t=[];for(const i of s.getAttributeNames())if(i.endsWith("$lit$")||i.startsWith(C)){const e=a[o++];if(t.push(i),void 0!==e){const t=s.getAttribute(e.toLowerCase()+"$lit$").split(C),i=/([.?@])?(.*)/.exec(e);l.push({type:1,index:n,name:i[2],strings:t,ctor:"."===i[1]?X:"?"===i[1]?Q:"@"===i[1]?Y:q})}else l.push({type:6,index:n})}for(const i of t)s.removeAttribute(i)}if(B.test(s.tagName)){const t=s.textContent.split(C),i=t.length-1;if(i>0){s.textContent=O?O.emptyScript:"";for(let e=0;e<i;e++)s.append(t[e],M()),H.nextNode(),l.push({type:2,index:++n});s.append(t[i],M())}}}else if(8===s.nodeType)if(s.data===R)l.push({type:2,index:n});else{let t=-1;for(;-1!==(t=s.data.indexOf(C,t+1));)l.push({type:7,index:n}),t+=C.length-1}n++}}static createElement(t,i){const e=S.createElement("template");return e.innerHTML=t,e}}function V(t,i,e=t,s){var n,o,r,l;if(i===W)return i;let h=void 0!==s?null===(n=e._$Cl)||void 0===n?void 0:n[s]:e._$Cu;const a=$(i)?void 0:i._$litDirective$;return(null==h?void 0:h.constructor)!==a&&(null===(o=null==h?void 0:h._$AO)||void 0===o||o.call(h,!1),void 0===a?h=void 0:(h=new a(t),h._$AT(t,e,s)),void 0!==s?(null!==(r=(l=e)._$Cl)&&void 0!==r?r:l._$Cl=[])[s]=h:e._$Cu=h),void 0!==h&&(i=V(t,h._$AS(t,i.values),h,s)),i}class Z{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:e},parts:s}=this._$AD,n=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:S).importNode(e,!0);H.currentNode=n;let o=H.nextNode(),r=0,l=0,h=s[0];for(;void 0!==h;){if(r===h.index){let i;2===h.type?i=new J(o,o.nextSibling,this,t):1===h.type?i=new h.ctor(o,h.name,h.strings,this,t):6===h.type&&(i=new tt(o,this,t)),this.v.push(i),h=s[++l]}r!==(null==h?void 0:h.index)&&(o=H.nextNode(),r++)}return n}m(t){let i=0;for(const e of this.v)void 0!==e&&(void 0!==e.strings?(e._$AI(t,e,i),i+=e.strings.length-2):e._$AI(t[i])),i++}}class J{constructor(t,i,e,s){var n;this.type=2,this._$AH=K,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=e,this.options=s,this._$Cg=null===(n=null==s?void 0:s.isConnected)||void 0===n||n}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=V(this,t,i),$(t)?t===K||null==t||""===t?(this._$AH!==K&&this._$AR(),this._$AH=K):t!==this._$AH&&t!==W&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):k(t)?this.S(t):this.$(t)}M(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==K&&$(this._$AH)?this._$AA.nextSibling.data=t:this.k(S.createTextNode(t)),this._$AH=t}T(t){var i;const{values:e,_$litType$:s}=t,n="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=P.createElement(s.h,this.options)),s);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===n)this._$AH.m(e);else{const t=new Z(n,this),i=t.p(this.options);t.m(e),this.k(i),this._$AH=t}}_$AC(t){let i=D.get(t.strings);return void 0===i&&D.set(t.strings,i=new P(t)),i}S(t){U(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let e,s=0;for(const n of t)s===i.length?i.push(e=new J(this.M(M()),this.M(M()),this,this.options)):e=i[s],e._$AI(n),s++;s<i.length&&(this._$AR(e&&e._$AB.nextSibling,s),i.length=s)}_$AR(t=this._$AA.nextSibling,i){var e;for(null===(e=this._$AP)||void 0===e||e.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class q{constructor(t,i,e,s,n){this.type=1,this._$AH=K,this._$AN=void 0,this.element=t,this.name=i,this._$AM=s,this.options=n,e.length>2||""!==e[0]||""!==e[1]?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=K}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,e,s){const n=this.strings;let o=!1;if(void 0===n)t=V(this,t,i,0),o=!$(t)||t!==this._$AH&&t!==W,o&&(this._$AH=t);else{const s=t;let r,l;for(t=n[0],r=0;r<n.length-1;r++)l=V(this,s[e+r],i,r),l===W&&(l=this._$AH[r]),o||(o=!$(l)||l!==this._$AH[r]),l===K?t=K:t!==K&&(t+=(null!=l?l:"")+n[r+1]),this._$AH[r]=l}o&&!s&&this.C(t)}C(t){t===K?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class X extends q{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===K?void 0:t}}const G=O?O.emptyScript:"";class Q extends q{constructor(){super(...arguments),this.type=4}C(t){t&&t!==K?this.element.setAttribute(this.name,G):this.element.removeAttribute(this.name)}}class Y extends q{constructor(t,i,e,s,n){super(t,i,e,s,n),this.type=5}_$AI(t,i=this){var e;if((t=null!==(e=V(this,t,i,0))&&void 0!==e?e:K)===W)return;const s=this._$AH,n=t===K&&s!==K||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==K&&(s===K||n);n&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,e;"function"==typeof this._$AH?this._$AH.call(null!==(e=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==e?e:this.element,t):this._$AH.handleEvent(t)}}class tt{constructor(t,i,e){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(t){V(this,t)}}const it={L:"$lit$",P:C,V:R,I:1,N:z,R:Z,j:k,D:V,H:J,F:q,O:Q,W:Y,B:X,Z:tt},et=window.litHtmlPolyfillSupport;
55
+ var g;w.finalized=!0,w.elementProperties=new Map,w.elementStyles=[],w.shadowRootOptions={mode:"open"},null==b||b({ReactiveElement:w}),(null!==(p=globalThis.reactiveElementVersions)&&void 0!==p?p:globalThis.reactiveElementVersions=[]).push("1.3.4");const O=globalThis.trustedTypes,N=O?O.createPolicy("lit-html",{createHTML:t=>t}):void 0,E=`lit$${(Math.random()+"").slice(9)}$`,R="?"+E,$=`<${R}>`,C=document,S=(t="")=>C.createComment(t),M=t=>null===t||"object"!=typeof t&&"function"!=typeof t,U=Array.isArray,k=t=>U(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),A=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,F=/-->/g,T=/>/g,L=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),_=/'/g,j=/"/g,B=/^(?:script|style|textarea|title)$/i,I=(t=>(i,...e)=>({_$litType$:t,strings:i,values:e}))(1),W=Symbol.for("lit-noChange"),K=Symbol.for("lit-nothing"),D=new WeakMap,H=C.createTreeWalker(C,129,null,!1),z=(t,i)=>{const e=t.length-1,s=[];let n,o=2===i?"<svg>":"",r=A;for(let i=0;i<e;i++){const e=t[i];let l,a,h=-1,c=0;for(;c<e.length&&(r.lastIndex=c,a=r.exec(e),null!==a);)c=r.lastIndex,r===A?"!--"===a[1]?r=F:void 0!==a[1]?r=T:void 0!==a[2]?(B.test(a[2])&&(n=RegExp("</"+a[2],"g")),r=L):void 0!==a[3]&&(r=L):r===L?">"===a[0]?(r=null!=n?n:A,h=-1):void 0===a[1]?h=-2:(h=r.lastIndex-a[2].length,l=a[1],r=void 0===a[3]?L:'"'===a[3]?j:_):r===j||r===_?r=L:r===F||r===T?r=A:(r=L,n=void 0);const u=r===L&&t[i+1].startsWith("/>")?" ":"";o+=r===A?e+$:h>=0?(s.push(l),e.slice(0,h)+"$lit$"+e.slice(h)+E+u):e+E+(-2===h?(s.push(void 0),i):u)}const l=o+(t[e]||"<?>")+(2===i?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==N?N.createHTML(l):l,s]};class P{constructor({strings:t,_$litType$:i},e){let s;this.parts=[];let n=0,o=0;const r=t.length-1,l=this.parts,[a,h]=z(t,i);if(this.el=P.createElement(a,e),H.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(s=H.nextNode())&&l.length<r;){if(1===s.nodeType){if(s.hasAttributes()){const t=[];for(const i of s.getAttributeNames())if(i.endsWith("$lit$")||i.startsWith(E)){const e=h[o++];if(t.push(i),void 0!==e){const t=s.getAttribute(e.toLowerCase()+"$lit$").split(E),i=/([.?@])?(.*)/.exec(e);l.push({type:1,index:n,name:i[2],strings:t,ctor:"."===i[1]?X:"?"===i[1]?Q:"@"===i[1]?Y:q})}else l.push({type:6,index:n})}for(const i of t)s.removeAttribute(i)}if(B.test(s.tagName)){const t=s.textContent.split(E),i=t.length-1;if(i>0){s.textContent=O?O.emptyScript:"";for(let e=0;e<i;e++)s.append(t[e],S()),H.nextNode(),l.push({type:2,index:++n});s.append(t[i],S())}}}else if(8===s.nodeType)if(s.data===R)l.push({type:2,index:n});else{let t=-1;for(;-1!==(t=s.data.indexOf(E,t+1));)l.push({type:7,index:n}),t+=E.length-1}n++}}static createElement(t,i){const e=C.createElement("template");return e.innerHTML=t,e}}function Z(t,i,e=t,s){var n,o,r,l;if(i===W)return i;let a=void 0!==s?null===(n=e._$Cl)||void 0===n?void 0:n[s]:e._$Cu;const h=M(i)?void 0:i._$litDirective$;return(null==a?void 0:a.constructor)!==h&&(null===(o=null==a?void 0:a._$AO)||void 0===o||o.call(a,!1),void 0===h?a=void 0:(a=new h(t),a._$AT(t,e,s)),void 0!==s?(null!==(r=(l=e)._$Cl)&&void 0!==r?r:l._$Cl=[])[s]=a:e._$Cu=a),void 0!==a&&(i=Z(t,a._$AS(t,i.values),a,s)),i}class J{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:e},parts:s}=this._$AD,n=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:C).importNode(e,!0);H.currentNode=n;let o=H.nextNode(),r=0,l=0,a=s[0];for(;void 0!==a;){if(r===a.index){let i;2===a.type?i=new V(o,o.nextSibling,this,t):1===a.type?i=new a.ctor(o,a.name,a.strings,this,t):6===a.type&&(i=new tt(o,this,t)),this.v.push(i),a=s[++l]}r!==(null==a?void 0:a.index)&&(o=H.nextNode(),r++)}return n}m(t){let i=0;for(const e of this.v)void 0!==e&&(void 0!==e.strings?(e._$AI(t,e,i),i+=e.strings.length-2):e._$AI(t[i])),i++}}class V{constructor(t,i,e,s){var n;this.type=2,this._$AH=K,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=e,this.options=s,this._$C_=null===(n=null==s?void 0:s.isConnected)||void 0===n||n}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$C_}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=Z(this,t,i),M(t)?t===K||null==t||""===t?(this._$AH!==K&&this._$AR(),this._$AH=K):t!==this._$AH&&t!==W&&this.T(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.k(t):k(t)?this.S(t):this.T(t)}j(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.j(t))}T(t){this._$AH!==K&&M(this._$AH)?this._$AA.nextSibling.data=t:this.k(C.createTextNode(t)),this._$AH=t}$(t){var i;const{values:e,_$litType$:s}=t,n="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=P.createElement(s.h,this.options)),s);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===n)this._$AH.m(e);else{const t=new J(n,this),i=t.p(this.options);t.m(e),this.k(i),this._$AH=t}}_$AC(t){let i=D.get(t.strings);return void 0===i&&D.set(t.strings,i=new P(t)),i}S(t){U(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let e,s=0;for(const n of t)s===i.length?i.push(e=new V(this.j(S()),this.j(S()),this,this.options)):e=i[s],e._$AI(n),s++;s<i.length&&(this._$AR(e&&e._$AB.nextSibling,s),i.length=s)}_$AR(t=this._$AA.nextSibling,i){var e;for(null===(e=this._$AP)||void 0===e||e.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$C_=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class q{constructor(t,i,e,s,n){this.type=1,this._$AH=K,this._$AN=void 0,this.element=t,this.name=i,this._$AM=s,this.options=n,e.length>2||""!==e[0]||""!==e[1]?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=K}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,e,s){const n=this.strings;let o=!1;if(void 0===n)t=Z(this,t,i,0),o=!M(t)||t!==this._$AH&&t!==W,o&&(this._$AH=t);else{const s=t;let r,l;for(t=n[0],r=0;r<n.length-1;r++)l=Z(this,s[e+r],i,r),l===W&&(l=this._$AH[r]),o||(o=!M(l)||l!==this._$AH[r]),l===K?t=K:t!==K&&(t+=(null!=l?l:"")+n[r+1]),this._$AH[r]=l}o&&!s&&this.P(t)}P(t){t===K?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class X extends q{constructor(){super(...arguments),this.type=3}P(t){this.element[this.name]=t===K?void 0:t}}const G=O?O.emptyScript:"";class Q extends q{constructor(){super(...arguments),this.type=4}P(t){t&&t!==K?this.element.setAttribute(this.name,G):this.element.removeAttribute(this.name)}}class Y extends q{constructor(t,i,e,s,n){super(t,i,e,s,n),this.type=5}_$AI(t,i=this){var e;if((t=null!==(e=Z(this,t,i,0))&&void 0!==e?e:K)===W)return;const s=this._$AH,n=t===K&&s!==K||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==K&&(s===K||n);n&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,e;"function"==typeof this._$AH?this._$AH.call(null!==(e=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==e?e:this.element,t):this._$AH.handleEvent(t)}}class tt{constructor(t,i,e){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(t){Z(this,t)}}const it={A:"$lit$",C:E,M:R,L:1,R:z,V:J,D:k,I:Z,H:V,N:q,U:Q,B:Y,F:X,W:tt},et=window.litHtmlPolyfillSupport;
56
56
  /**
57
57
  * @license
58
58
  * Copyright 2017 Google LLC
59
59
  * SPDX-License-Identifier: BSD-3-Clause
60
60
  */
61
- var st,nt;null==et||et(P,J),(null!==(g=globalThis.litHtmlVersions)&&void 0!==g?g:globalThis.litHtmlVersions=[]).push("2.2.4");class ot extends y{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,i;const e=super.createRenderRoot();return null!==(t=(i=this.renderOptions).renderBefore)&&void 0!==t||(i.renderBefore=e.firstChild),e}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=((t,i,e)=>{var s,n;const o=null!==(s=null==e?void 0:e.renderBefore)&&void 0!==s?s:i;let r=o._$litPart$;if(void 0===r){const t=null!==(n=null==e?void 0:e.renderBefore)&&void 0!==n?n:null;o._$litPart$=r=new J(i.insertBefore(M(),t),t,void 0,null!=e?e:{})}return r._$AI(t),r})(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return W}}ot.finalized=!0,ot._$litElement$=!0,null===(st=globalThis.litElementHydrateSupport)||void 0===st||st.call(globalThis,{LitElement:ot});const rt=globalThis.litElementPolyfillSupport;null==rt||rt({LitElement:ot}),(null!==(nt=globalThis.litElementVersions)&&void 0!==nt?nt:globalThis.litElementVersions=[]).push("3.2.0");class lt{constructor(t,i,e,s,n){this.name=t,this.category=i,this.fallbackVariable=e,this.defaultValue=s,this.context=n,this._$cssResult$=!0,this.value=this.get()}get cssText(){return this.value.cssText}get styleSheet(){return this.value.styleSheet}toString(){return this.value.toString()}static create(t,i,e){return new lt(t,i,void 0,e)}static extend(t,i,e){return new lt(t,i.category,i,e)}static external(t,i){return new lt(t.name,t.category,t.fallbackVariable,t.defaultValue,i)}get(t){return c`var(${a(this.name)}, ${this.defaultCssValue(t)})`}defaultCssValue(t){return this.fallbackVariable?this.fallbackVariable.get(null!=t?t:this.defaultValue):a(null!=t?t:this.defaultValue)}lastResortDefaultValue(){var t,i;return null!==(t=this.defaultValue)&&void 0!==t?t:null===(i=this.fallbackVariable)||void 0===i?void 0:i.lastResortDefaultValue()}breadcrumb(){return this.fallbackVariable?[this.fallbackVariable.name,...this.fallbackVariable.breadcrumb()]:[]}}lt.create("--ft-color-primary","COLOR","#2196F3"),lt.create("--ft-color-primary-variant","COLOR","#1976D2"),lt.create("--ft-color-secondary","COLOR","#FFCC80"),lt.create("--ft-color-secondary-variant","COLOR","#F57C00"),lt.create("--ft-color-surface","COLOR","#FFFFFF"),lt.create("--ft-color-content","COLOR","rgba(0, 0, 0, 0.87)"),lt.create("--ft-color-error","COLOR","#B00020"),lt.create("--ft-color-outline","COLOR","rgba(0, 0, 0, 0.14)"),lt.create("--ft-color-opacity-high","NUMBER","1"),lt.create("--ft-color-opacity-medium","NUMBER","0.74"),lt.create("--ft-color-opacity-disabled","NUMBER","0.38"),lt.create("--ft-color-on-primary","COLOR","#FFFFFF"),lt.create("--ft-color-on-primary-high","COLOR","#FFFFFF"),lt.create("--ft-color-on-primary-medium","COLOR","rgba(255, 255, 255, 0.74)"),lt.create("--ft-color-on-primary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),lt.create("--ft-color-on-secondary","COLOR","#FFFFFF"),lt.create("--ft-color-on-secondary-high","COLOR","#FFFFFF"),lt.create("--ft-color-on-secondary-medium","COLOR","rgba(255, 255, 255, 0.74)"),lt.create("--ft-color-on-secondary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),lt.create("--ft-color-on-surface","COLOR","rgba(0, 0, 0, 0.87)"),lt.create("--ft-color-on-surface-high","COLOR","rgba(0, 0, 0, 0.87)"),lt.create("--ft-color-on-surface-medium","COLOR","rgba(0, 0, 0, 0.60)"),lt.create("--ft-color-on-surface-disabled","COLOR","rgba(0, 0, 0, 0.38)"),lt.create("--ft-opacity-content-on-surface-disabled","NUMBER","0"),lt.create("--ft-opacity-content-on-surface-enable","NUMBER","0"),lt.create("--ft-opacity-content-on-surface-hover","NUMBER","0.04"),lt.create("--ft-opacity-content-on-surface-focused","NUMBER","0.12"),lt.create("--ft-opacity-content-on-surface-pressed","NUMBER","0.10"),lt.create("--ft-opacity-content-on-surface-selected","NUMBER","0.08"),lt.create("--ft-opacity-content-on-surface-dragged","NUMBER","0.08"),lt.create("--ft-opacity-primary-on-surface-disabled","NUMBER","0"),lt.create("--ft-opacity-primary-on-surface-enable","NUMBER","0"),lt.create("--ft-opacity-primary-on-surface-hover","NUMBER","0.04"),lt.create("--ft-opacity-primary-on-surface-focused","NUMBER","0.12"),lt.create("--ft-opacity-primary-on-surface-pressed","NUMBER","0.10"),lt.create("--ft-opacity-primary-on-surface-selected","NUMBER","0.08"),lt.create("--ft-opacity-primary-on-surface-dragged","NUMBER","0.08"),lt.create("--ft-opacity-surface-on-primary-disabled","NUMBER","0"),lt.create("--ft-opacity-surface-on-primary-enable","NUMBER","0"),lt.create("--ft-opacity-surface-on-primary-hover","NUMBER","0.04"),lt.create("--ft-opacity-surface-on-primary-focused","NUMBER","0.12"),lt.create("--ft-opacity-surface-on-primary-pressed","NUMBER","0.10"),lt.create("--ft-opacity-surface-on-primary-selected","NUMBER","0.08"),lt.create("--ft-opacity-surface-on-primary-dragged","NUMBER","0.08"),lt.create("--ft-elevation-00","UNKNOWN","0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0)"),lt.create("--ft-elevation-01","UNKNOWN","0px 1px 4px 0px rgba(0, 0, 0, 0.06), 0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-02","UNKNOWN","0px 4px 10px 0px rgba(0, 0, 0, 0.06), 0px 2px 5px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-03","UNKNOWN","0px 6px 13px 0px rgba(0, 0, 0, 0.06), 0px 3px 7px 0px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-04","UNKNOWN","0px 8px 16px 0px rgba(0, 0, 0, 0.06), 0px 4px 9px 0px rgba(0, 0, 0, 0.14), 0px 2px 3px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-06","UNKNOWN","0px 12px 22px 0px rgba(0, 0, 0, 0.06), 0px 6px 13px 0px rgba(0, 0, 0, 0.14), 0px 4px 5px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-08","UNKNOWN","0px 16px 28px 0px rgba(0, 0, 0, 0.06), 0px 8px 17px 0px rgba(0, 0, 0, 0.14), 0px 6px 7px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-12","UNKNOWN","0px 22px 40px 0px rgba(0, 0, 0, 0.06), 0px 12px 23px 0px rgba(0, 0, 0, 0.14), 0px 10px 11px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-16","UNKNOWN","0px 28px 52px 0px rgba(0, 0, 0, 0.06), 0px 16px 29px 0px rgba(0, 0, 0, 0.14), 0px 14px 15px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-24","UNKNOWN","0px 40px 76px 0px rgba(0, 0, 0, 0.06), 0px 24px 41px 0px rgba(0, 0, 0, 0.14), 0px 22px 23px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-border-radius-S","SIZE","4px"),lt.create("--ft-border-radius-M","SIZE","8px"),lt.create("--ft-border-radius-L","SIZE","12px"),lt.create("--ft-border-radius-XL","SIZE","16px"),lt.create("--ft-title-font","UNKNOWN","Ubuntu, system-ui, sans-serif"),lt.create("--ft-content-font","UNKNOWN","'Open Sans', system-ui, sans-serif"),lt.create("--ft-transition-duration","UNKNOWN","250ms"),lt.create("--ft-transition-timing-function","UNKNOWN","ease-in-out");var ht,at,ct,ut=function(t,i,e,s){for(var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};class dt extends(
61
+ var st,nt;null==et||et(P,V),(null!==(g=globalThis.litHtmlVersions)&&void 0!==g?g:globalThis.litHtmlVersions=[]).push("2.2.7");class ot extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,i;const e=super.createRenderRoot();return null!==(t=(i=this.renderOptions).renderBefore)&&void 0!==t||(i.renderBefore=e.firstChild),e}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,i,e)=>{var s,n;const o=null!==(s=null==e?void 0:e.renderBefore)&&void 0!==s?s:i;let r=o._$litPart$;if(void 0===r){const t=null!==(n=null==e?void 0:e.renderBefore)&&void 0!==n?n:null;o._$litPart$=r=new V(i.insertBefore(S(),t),t,void 0,null!=e?e:{})}return r._$AI(t),r})(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return W}}ot.finalized=!0,ot._$litElement$=!0,null===(st=globalThis.litElementHydrateSupport)||void 0===st||st.call(globalThis,{LitElement:ot});const rt=globalThis.litElementPolyfillSupport;null==rt||rt({LitElement:ot}),(null!==(nt=globalThis.litElementVersions)&&void 0!==nt?nt:globalThis.litElementVersions=[]).push("3.2.2");class lt{static create(t,i,e){let s=t=>h(null!=t?t:e),n=c`var(${h(t)}, ${s(e)})`;return n.name=t,n.category=i,n.defaultValue=e,n.defaultCssValue=s,n.get=i=>c`var(${h(t)}, ${s(i)})`,n.breadcrumb=()=>[],n.lastResortDefaultValue=()=>e,n}static extend(t,i,e){let s=t=>i.get(null!=t?t:e),n=c`var(${h(t)}, ${s(e)})`;return n.name=t,n.category=i.category,n.fallbackVariable=i,n.defaultValue=e,n.defaultCssValue=s,n.get=i=>c`var(${h(t)}, ${s(i)})`,n.breadcrumb=()=>[i.name,...i.breadcrumb()],n.lastResortDefaultValue=()=>e,n}static external(t,i){let e=i=>t.fallbackVariable?t.fallbackVariable.get(null!=i?i:t.defaultValue):h(null!=i?i:t.defaultValue),s=c`var(${h(t.name)}, ${e(t.defaultValue)})`;return s.name=t.name,s.category=t.category,s.fallbackVariable=t.fallbackVariable,s.defaultValue=t.defaultValue,s.context=i,s.defaultCssValue=e,s.get=i=>c`var(${h(t.name)}, ${e(i)})`,s.breadcrumb=()=>t.fallbackVariable?[t.fallbackVariable.name,...t.fallbackVariable.breadcrumb()]:[],s.lastResortDefaultValue=()=>{var i,e;return null!==(i=t.defaultValue)&&void 0!==i?i:null===(e=t.fallbackVariable)||void 0===e?void 0:e.lastResortDefaultValue()},s}}lt.create("--ft-color-primary","COLOR","#2196F3"),lt.create("--ft-color-primary-variant","COLOR","#1976D2"),lt.create("--ft-color-secondary","COLOR","#FFCC80"),lt.create("--ft-color-secondary-variant","COLOR","#F57C00"),lt.create("--ft-color-surface","COLOR","#FFFFFF"),lt.create("--ft-color-content","COLOR","rgba(0, 0, 0, 0.87)"),lt.create("--ft-color-error","COLOR","#B00020"),lt.create("--ft-color-outline","COLOR","rgba(0, 0, 0, 0.14)"),lt.create("--ft-color-opacity-high","NUMBER","1"),lt.create("--ft-color-opacity-medium","NUMBER","0.74"),lt.create("--ft-color-opacity-disabled","NUMBER","0.38"),lt.create("--ft-color-on-primary","COLOR","#FFFFFF"),lt.create("--ft-color-on-primary-high","COLOR","#FFFFFF"),lt.create("--ft-color-on-primary-medium","COLOR","rgba(255, 255, 255, 0.74)"),lt.create("--ft-color-on-primary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),lt.create("--ft-color-on-secondary","COLOR","#FFFFFF"),lt.create("--ft-color-on-secondary-high","COLOR","#FFFFFF"),lt.create("--ft-color-on-secondary-medium","COLOR","rgba(255, 255, 255, 0.74)"),lt.create("--ft-color-on-secondary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),lt.create("--ft-color-on-surface","COLOR","rgba(0, 0, 0, 0.87)"),lt.create("--ft-color-on-surface-high","COLOR","rgba(0, 0, 0, 0.87)"),lt.create("--ft-color-on-surface-medium","COLOR","rgba(0, 0, 0, 0.60)"),lt.create("--ft-color-on-surface-disabled","COLOR","rgba(0, 0, 0, 0.38)"),lt.create("--ft-opacity-content-on-surface-disabled","NUMBER","0"),lt.create("--ft-opacity-content-on-surface-enable","NUMBER","0"),lt.create("--ft-opacity-content-on-surface-hover","NUMBER","0.04"),lt.create("--ft-opacity-content-on-surface-focused","NUMBER","0.12"),lt.create("--ft-opacity-content-on-surface-pressed","NUMBER","0.10"),lt.create("--ft-opacity-content-on-surface-selected","NUMBER","0.08"),lt.create("--ft-opacity-content-on-surface-dragged","NUMBER","0.08"),lt.create("--ft-opacity-primary-on-surface-disabled","NUMBER","0"),lt.create("--ft-opacity-primary-on-surface-enable","NUMBER","0"),lt.create("--ft-opacity-primary-on-surface-hover","NUMBER","0.04"),lt.create("--ft-opacity-primary-on-surface-focused","NUMBER","0.12"),lt.create("--ft-opacity-primary-on-surface-pressed","NUMBER","0.10"),lt.create("--ft-opacity-primary-on-surface-selected","NUMBER","0.08"),lt.create("--ft-opacity-primary-on-surface-dragged","NUMBER","0.08"),lt.create("--ft-opacity-surface-on-primary-disabled","NUMBER","0"),lt.create("--ft-opacity-surface-on-primary-enable","NUMBER","0"),lt.create("--ft-opacity-surface-on-primary-hover","NUMBER","0.04"),lt.create("--ft-opacity-surface-on-primary-focused","NUMBER","0.12"),lt.create("--ft-opacity-surface-on-primary-pressed","NUMBER","0.10"),lt.create("--ft-opacity-surface-on-primary-selected","NUMBER","0.08"),lt.create("--ft-opacity-surface-on-primary-dragged","NUMBER","0.08"),lt.create("--ft-elevation-00","UNKNOWN","0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0)"),lt.create("--ft-elevation-01","UNKNOWN","0px 1px 4px 0px rgba(0, 0, 0, 0.06), 0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-02","UNKNOWN","0px 4px 10px 0px rgba(0, 0, 0, 0.06), 0px 2px 5px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-03","UNKNOWN","0px 6px 13px 0px rgba(0, 0, 0, 0.06), 0px 3px 7px 0px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-04","UNKNOWN","0px 8px 16px 0px rgba(0, 0, 0, 0.06), 0px 4px 9px 0px rgba(0, 0, 0, 0.14), 0px 2px 3px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-06","UNKNOWN","0px 12px 22px 0px rgba(0, 0, 0, 0.06), 0px 6px 13px 0px rgba(0, 0, 0, 0.14), 0px 4px 5px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-08","UNKNOWN","0px 16px 28px 0px rgba(0, 0, 0, 0.06), 0px 8px 17px 0px rgba(0, 0, 0, 0.14), 0px 6px 7px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-12","UNKNOWN","0px 22px 40px 0px rgba(0, 0, 0, 0.06), 0px 12px 23px 0px rgba(0, 0, 0, 0.14), 0px 10px 11px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-16","UNKNOWN","0px 28px 52px 0px rgba(0, 0, 0, 0.06), 0px 16px 29px 0px rgba(0, 0, 0, 0.14), 0px 14px 15px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-elevation-24","UNKNOWN","0px 40px 76px 0px rgba(0, 0, 0, 0.06), 0px 24px 41px 0px rgba(0, 0, 0, 0.14), 0px 22px 23px 0px rgba(0, 0, 0, 0.06)"),lt.create("--ft-border-radius-S","SIZE","4px"),lt.create("--ft-border-radius-M","SIZE","8px"),lt.create("--ft-border-radius-L","SIZE","12px"),lt.create("--ft-border-radius-XL","SIZE","16px"),lt.create("--ft-title-font","UNKNOWN","Ubuntu, system-ui, sans-serif"),lt.create("--ft-content-font","UNKNOWN","'Open Sans', system-ui, sans-serif"),lt.create("--ft-transition-duration","UNKNOWN","250ms"),lt.create("--ft-transition-timing-function","UNKNOWN","ease-in-out");var at,ht,ct,ut=function(t,i,e,s){for(var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};class dt extends(
62
62
  /**
63
63
  * @license
64
64
  * Copyright 2021 Google LLC
@@ -69,7 +69,7 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
69
69
  <style>${t}</style>
70
70
  `))}
71
71
  ${this.getTemplate()}
72
- `}updated(t){super.updated(t),setTimeout((()=>{var i;this.contentAvailableCallback(t),(null===(i=this.exportpartsPrefix)||void 0===i?void 0:i.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}),0)}setExportpartsAttribute(t){var i,e,s,n,o,r;const l=t=>null!=t&&t.trim().length>0,h=t.filter(l).map((t=>t.trim()));if(0===h.length)return void this.removeAttribute("exportparts");const a=new Set;for(let t of null!==(e=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelectorAll("[part],[exportparts]"))&&void 0!==e?e:[]){const i=null!==(n=null===(s=t.getAttribute("part"))||void 0===s?void 0:s.split(" "))&&void 0!==n?n:[],e=null!==(r=null===(o=t.getAttribute("exportparts"))||void 0===o?void 0:o.split(",").map((t=>t.split(":")[1])))&&void 0!==r?r:[];new Array(...i,...e).filter(l).map((t=>t.trim())).forEach((t=>a.add(t)))}if(0===a.size)return void this.removeAttribute("exportparts");const c=[...a.values()].flatMap((t=>h.map((i=>`${t}:${i}--${t}`))));this.setAttribute("exportparts",[...this.part,...c].join(", "))}contentAvailableCallback(t){}}ut([e()],dt.prototype,"exportpartsPrefix",void 0),ut([function(t,i){const s=()=>JSON.parse(JSON.stringify(t));return e({type:Object,converter:{fromAttribute:t=>{if(null==t)return s();try{return JSON.parse(t)}catch{return s()}},toAttribute:t=>JSON.stringify(t)},...null!=i?i:{}})}([])],dt.prototype,"exportpartsPrefixes",void 0),c`
72
+ `}updated(t){super.updated(t),setTimeout((()=>{var i;this.contentAvailableCallback(t),(null===(i=this.exportpartsPrefix)||void 0===i?void 0:i.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}),0)}setExportpartsAttribute(t){var i,e,s,n,o,r;const l=t=>null!=t&&t.trim().length>0,a=t.filter(l).map((t=>t.trim()));if(0===a.length)return void this.removeAttribute("exportparts");const h=new Set;for(let t of null!==(e=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelectorAll("[part],[exportparts]"))&&void 0!==e?e:[]){const i=null!==(n=null===(s=t.getAttribute("part"))||void 0===s?void 0:s.split(" "))&&void 0!==n?n:[],e=null!==(r=null===(o=t.getAttribute("exportparts"))||void 0===o?void 0:o.split(",").map((t=>t.split(":")[1])))&&void 0!==r?r:[];new Array(...i,...e).filter(l).map((t=>t.trim())).forEach((t=>h.add(t)))}if(0===h.size)return void this.removeAttribute("exportparts");const c=[...h.values()].flatMap((t=>a.map((i=>`${t}:${i}--${t}`))));this.setAttribute("exportparts",[...this.part,...c].join(", "))}contentAvailableCallback(t){}}ut([e()],dt.prototype,"exportpartsPrefix",void 0),ut([function(t,i){const s=()=>JSON.parse(JSON.stringify(t));return e({type:Object,converter:{fromAttribute:t=>{if(null==t)return s();try{return JSON.parse(t)}catch{return s()}},toAttribute:t=>JSON.stringify(t)},...null!=i?i:{}})}([])],dt.prototype,"exportpartsPrefixes",void 0),c`
73
73
  .ft-no-text-select {
74
74
  -webkit-touch-callout: none;
75
75
  -webkit-user-select: none;
@@ -78,7 +78,7 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
78
78
  -ms-user-select: none;
79
79
  user-select: none;
80
80
  }
81
- `;const pt=navigator.vendor&&!!navigator.vendor.match(/apple/i)||"[object SafariRemoteNotification]"===(null!==(ct=null===(at=null===(ht=window.safari)||void 0===ht?void 0:ht.pushNotification)||void 0===at?void 0:at.toString())&&void 0!==ct?ct:""),ft=2,vt=t=>(...i)=>({_$litDirective$:t,values:i});
81
+ `;const pt=navigator.vendor&&!!navigator.vendor.match(/apple/i)||"[object SafariRemoteNotification]"===(null!==(ct=null===(ht=null===(at=window.safari)||void 0===at?void 0:at.pushNotification)||void 0===ht?void 0:ht.toString())&&void 0!==ct?ct:""),ft=2,vt=t=>(...i)=>({_$litDirective$:t,values:i});
82
82
  /**
83
83
  * @license
84
84
  * Copyright 2017 Google LLC
@@ -88,7 +88,7 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
88
88
  * @license
89
89
  * Copyright 2020 Google LLC
90
90
  * SPDX-License-Identifier: BSD-3-Clause
91
- */const{H:mt}=it,xt=()=>document.createComment(""),wt=(t,i,e)=>{var s;const n=t._$AA.parentNode,o=void 0===i?t._$AB:i._$AA;if(void 0===e){const i=n.insertBefore(xt(),o),s=n.insertBefore(xt(),o);e=new mt(i,s,t,t.options)}else{const i=e._$AB.nextSibling,r=e._$AM,l=r!==t;if(l){let i;null===(s=e._$AQ)||void 0===s||s.call(e,t),e._$AM=t,void 0!==e._$AP&&(i=t._$AU)!==r._$AU&&e._$AP(i)}if(i!==o||l){let t=e._$AA;for(;t!==i;){const i=t.nextSibling;n.insertBefore(t,o),t=i}}}return e},yt=(t,i,e=t)=>(t._$AI(i,e),t),gt={},Ot=t=>{var i;null===(i=t._$AP)||void 0===i||i.call(t,!1,!0);let e=t._$AA;const s=t._$AB.nextSibling;for(;e!==s;){const t=e.nextSibling;e.remove(),e=t}},Nt=(t,i,e)=>{const s=new Map;for(let n=i;n<=e;n++)s.set(t[n],n);return s},Ct=vt(class extends bt{constructor(t){if(super(t),t.type!==ft)throw Error("repeat() can only be used in text expressions")}dt(t,i,e){let s;void 0===e?e=i:void 0!==i&&(s=i);const n=[],o=[];let r=0;for(const i of t)n[r]=s?s(i,r):r,o[r]=e(i,r),r++;return{values:o,keys:n}}render(t,i,e){return this.dt(t,i,e).values}update(t,[i,e,s]){var n;const o=(t=>t._$AH)(t),{values:r,keys:l}=this.dt(i,e,s);if(!Array.isArray(o))return this.ut=l,r;const h=null!==(n=this.ut)&&void 0!==n?n:this.ut=[],a=[];let c,u,d=0,p=o.length-1,f=0,v=r.length-1;for(;d<=p&&f<=v;)if(null===o[d])d++;else if(null===o[p])p--;else if(h[d]===l[f])a[f]=yt(o[d],r[f]),d++,f++;else if(h[p]===l[v])a[v]=yt(o[p],r[v]),p--,v--;else if(h[d]===l[v])a[v]=yt(o[d],r[v]),wt(t,a[v+1],o[d]),d++,v--;else if(h[p]===l[f])a[f]=yt(o[p],r[f]),wt(t,o[d],o[p]),p--,f++;else if(void 0===c&&(c=Nt(l,f,v),u=Nt(h,d,p)),c.has(h[d]))if(c.has(h[p])){const i=u.get(l[f]),e=void 0!==i?o[i]:null;if(null===e){const i=wt(t,o[d]);yt(i,r[f]),a[f]=i}else a[f]=yt(e,r[f]),wt(t,o[d],e),o[i]=null;f++}else Ot(o[p]),p--;else Ot(o[d]),d++;for(;f<=v;){const i=wt(t,a[v+1]);yt(i,r[f]),a[f++]=i}for(;d<=p;){const t=o[d++];null!==t&&Ot(t)}return this.ut=l,((t,i=gt)=>{t._$AH=i})(t,a),W}});
91
+ */const{H:xt}=it,mt=()=>document.createComment(""),yt=(t,i,e)=>{var s;const n=t._$AA.parentNode,o=void 0===i?t._$AB:i._$AA;if(void 0===e){const i=n.insertBefore(mt(),o),s=n.insertBefore(mt(),o);e=new xt(i,s,t,t.options)}else{const i=e._$AB.nextSibling,r=e._$AM,l=r!==t;if(l){let i;null===(s=e._$AQ)||void 0===s||s.call(e,t),e._$AM=t,void 0!==e._$AP&&(i=t._$AU)!==r._$AU&&e._$AP(i)}if(i!==o||l){let t=e._$AA;for(;t!==i;){const i=t.nextSibling;n.insertBefore(t,o),t=i}}}return e},wt=(t,i,e=t)=>(t._$AI(i,e),t),gt={},Ot=t=>{var i;null===(i=t._$AP)||void 0===i||i.call(t,!1,!0);let e=t._$AA;const s=t._$AB.nextSibling;for(;e!==s;){const t=e.nextSibling;e.remove(),e=t}},Nt=(t,i,e)=>{const s=new Map;for(let n=i;n<=e;n++)s.set(t[n],n);return s},Et=vt(class extends bt{constructor(t){if(super(t),t.type!==ft)throw Error("repeat() can only be used in text expressions")}ht(t,i,e){let s;void 0===e?e=i:void 0!==i&&(s=i);const n=[],o=[];let r=0;for(const i of t)n[r]=s?s(i,r):r,o[r]=e(i,r),r++;return{values:o,keys:n}}render(t,i,e){return this.ht(t,i,e).values}update(t,[i,e,s]){var n;const o=(t=>t._$AH)(t),{values:r,keys:l}=this.ht(i,e,s);if(!Array.isArray(o))return this.ut=l,r;const a=null!==(n=this.ut)&&void 0!==n?n:this.ut=[],h=[];let c,u,d=0,p=o.length-1,f=0,v=r.length-1;for(;d<=p&&f<=v;)if(null===o[d])d++;else if(null===o[p])p--;else if(a[d]===l[f])h[f]=wt(o[d],r[f]),d++,f++;else if(a[p]===l[v])h[v]=wt(o[p],r[v]),p--,v--;else if(a[d]===l[v])h[v]=wt(o[d],r[v]),yt(t,h[v+1],o[d]),d++,v--;else if(a[p]===l[f])h[f]=wt(o[p],r[f]),yt(t,o[d],o[p]),p--,f++;else if(void 0===c&&(c=Nt(l,f,v),u=Nt(a,d,p)),c.has(a[d]))if(c.has(a[p])){const i=u.get(l[f]),e=void 0!==i?o[i]:null;if(null===e){const i=yt(t,o[d]);wt(i,r[f]),h[f]=i}else h[f]=wt(e,r[f]),yt(t,o[d],e),o[i]=null;f++}else Ot(o[p]),p--;else Ot(o[d]),d++;for(;f<=v;){const i=yt(t,h[v+1]);wt(i,r[f]),h[f++]=i}for(;d<=p;){const t=o[d++];null!==t&&Ot(t)}return this.ut=l,((t,i=gt)=>{t._$AH=i})(t,h),W}});
92
92
  /**
93
93
  * @license
94
94
  * Copyright 2017 Google LLC
@@ -99,24 +99,24 @@ function(t){return class extends t{createRenderRoot(){const t=this.constructor,{
99
99
  * Copyright 2017 Google LLC
100
100
  * SPDX-License-Identifier: BSD-3-Clause
101
101
  */
102
- class Rt extends bt{constructor(t){if(super(t),this.it=K,t.type!==ft)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===K||null==t)return this.ft=void 0,this.it=t;if(t===W)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const i=[t];return i.raw=i,this.ft={_$litType$:this.constructor.resultType,strings:i,values:[]}}}Rt.directiveName="unsafeHTML",Rt.resultType=1;const Et=vt(Rt);var St=function(t,i,e,s){for(var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const Mt={padding:lt.create("--ft-infinite-scroll-padding","SIZE","0")};class $t extends CustomEvent{constructor(t,i){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:i}})}}class Ut extends dt{constructor(){super(...arguments),this.items=[],this.renderItem=()=>I``,this.internalScrollToIndex=0,this.visibleItems=[],this.scrolledToTarget=!1,this.onVisibilityChange=t=>{const i=t.filter((t=>t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>!this.visibleItems.includes(t))),e=t.filter((t=>!t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>this.visibleItems.includes(t))),s=[...this.visibleItems].filter((t=>!e.includes(t)));this.visibleItems=[...i,...s].sort(((t,i)=>t-i))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.onResize=t=>{let i=0;for(const e of t){let t=e.target.parentElement.clientHeight,s=e.contentRect.height;e.target.classList.contains("visible")&&(e.target.parentElement.style.height=s+"px",i+=e.target.parentElement.offsetTop<this.scrollable.scrollTop?t-s:0)}pt&&(this.scrollable.scrollTop-=i)},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.scrollable.children].forEach((t=>{this.intersectionObserver.observe(t),this.resizeObserver.observe(t.children.item(0))}))},this.mutationObserver=new MutationObserver(this.onMutation)}render(){return I`
102
+ class Rt extends bt{constructor(t){if(super(t),this.it=K,t.type!==ft)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===K||null==t)return this._t=void 0,this.it=t;if(t===W)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const i=[t];return i.raw=i,this._t={_$litType$:this.constructor.resultType,strings:i,values:[]}}}Rt.directiveName="unsafeHTML",Rt.resultType=1;const $t=vt(Rt);var Ct=function(t,i,e,s){for(var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const St={padding:lt.create("--ft-infinite-scroll-padding","SIZE","0")};class Mt extends CustomEvent{constructor(t,i){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:i}})}}class Ut extends dt{constructor(){super(...arguments),this.items=[],this.renderItem=()=>I``,this.internalScrollToIndex=0,this.visibleItems=[],this.scrolledToTarget=!1,this.onVisibilityChange=t=>{const i=t.filter((t=>t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>!this.visibleItems.includes(t))),e=t.filter((t=>!t.isIntersecting)).map((t=>+t.target.attributes.getNamedItem("data-item-index").value)).filter((t=>this.visibleItems.includes(t))),s=[...this.visibleItems].filter((t=>!e.includes(t)));this.visibleItems=[...i,...s].sort(((t,i)=>t-i))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.onResize=t=>{let i=0;for(const e of t){let t=e.target.parentElement.clientHeight,s=e.contentRect.height;e.target.classList.contains("visible")&&(e.target.parentElement.style.height=s+"px",i+=e.target.parentElement.offsetTop<this.scrollable.scrollTop?t-s:0)}pt&&(this.scrollable.scrollTop-=i)},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.scrollable.children].forEach((t=>{this.intersectionObserver.observe(t),this.resizeObserver.observe(t.children.item(0))}))},this.mutationObserver=new MutationObserver(this.onMutation)}render(){return I`
103
103
  <div class="scrollable" tabindex="-1">
104
- ${Ct(this.items,((t,i)=>this.renderItemContainer(t,i)))}
104
+ ${Et(this.items,((t,i)=>this.renderItemContainer(t,i)))}
105
105
  </div>
106
106
  `}renderItemContainer(t,i){const e=this.scrolledToTarget&&(this.visibleItems.includes(i)||this.visibleItems[0]===i+1||(s=this.visibleItems)[s.length-1]===i-1);var s;return I`
107
107
  <div id="item-${i}"
108
108
  class="item-container"
109
109
  data-item-index="${i}">
110
110
  <div class="resizable ${e?"visible":""}">
111
- ${e?(()=>{const e=this.renderItem(t,i);return"string"==typeof e?I`${Et(e)}`:e})():null}
111
+ ${e?(()=>{const e=this.renderItem(t,i);return"string"==typeof e?I`${$t(e)}`:e})():null}
112
112
  </div>
113
113
  </div>
114
- `}resetScroll(){var t;this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.internalScrollToIndex=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):0,(this.internalScrollToIndex<0||this.internalScrollToIndex>=this.items.length)&&(this.internalScrollToIndex=0),this.scrolledToTarget=!1}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable}),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.scrollable,{childList:!0})}),0)}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("scrollToItem")||t.has("scrollToIndex"))&&this.resetScroll()}updated(t){super.updated(t),this.scrolledToTarget||setTimeout((()=>{var t;if(0===this.internalScrollToIndex)this.scrollable.scrollTop=0;else{let i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(`#item-${this.internalScrollToIndex}`);this.scrollable.scrollTop=i.offsetTop}this.onMutation(),setTimeout((()=>{this.scrolledToTarget=!0}),50)}),50),(t.has("visibleItems")||t.has("items"))&&this.dispatchEvent(new $t(this.visibleItems,this.visibleItems.map((t=>this.items[t]))))}}var kt;Ut.styles=c`
114
+ `}resetScroll(){var t;this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.internalScrollToIndex=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):0,(this.internalScrollToIndex<0||this.internalScrollToIndex>=this.items.length)&&(this.internalScrollToIndex=0),this.scrolledToTarget=!1}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable}),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.scrollable,{childList:!0})}),0)}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("scrollToItem")||t.has("scrollToIndex"))&&this.resetScroll()}updated(t){super.updated(t),this.scrolledToTarget||setTimeout((()=>{var t;if(0===this.internalScrollToIndex)this.scrollable.scrollTop=0;else{let i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(`#item-${this.internalScrollToIndex}`);this.scrollable.scrollTop=i.offsetTop}this.onMutation(),setTimeout((()=>{this.scrolledToTarget=!0}),50)}),50),(t.has("visibleItems")||t.has("items"))&&this.dispatchEvent(new Mt(this.visibleItems,this.visibleItems.map((t=>this.items[t]))))}}var kt;Ut.styles=c`
115
115
  .scrollable {
116
116
  height: 100%;
117
117
  overflow-y: auto;
118
118
  position: relative;
119
- padding: ${Mt.padding};
119
+ padding: ${St.padding};
120
120
  outline: none;
121
121
  }
122
122
 
@@ -131,10 +131,10 @@ class Rt extends bt{constructor(t){if(super(t),this.it=K,t.type!==ft)throw Error
131
131
  .resizable:not(.visible) > * {
132
132
  display: none;
133
133
  }
134
- `,St([e({type:Array})],Ut.prototype,"items",void 0),St([e({attribute:!1})],Ut.prototype,"renderItem",void 0),St([e({type:Object})],Ut.prototype,"scrollToItem",void 0),St([e({type:Number})],Ut.prototype,"scrollToIndex",void 0),St([s()],Ut.prototype,"visibleItems",void 0),St([
134
+ `,Ct([e({type:Array})],Ut.prototype,"items",void 0),Ct([e({attribute:!1})],Ut.prototype,"renderItem",void 0),Ct([e({type:Object})],Ut.prototype,"scrollToItem",void 0),Ct([e({type:Number})],Ut.prototype,"scrollToIndex",void 0),Ct([s()],Ut.prototype,"visibleItems",void 0),Ct([
135
135
  /**
136
136
  * @license
137
137
  * Copyright 2017 Google LLC
138
138
  * SPDX-License-Identifier: BSD-3-Clause
139
139
  */
140
- function(t,i){return(({finisher:t,descriptor:i})=>(e,s)=>{var n;if(void 0===s){const s=null!==(n=e.originalKey)&&void 0!==n?n:e.key,o=null!=i?{kind:"method",placement:"prototype",key:s,descriptor:i(e.key)}:{...e,key:s};return null!=t&&(o.finisher=function(i){t(i,s)}),o}{const n=e.constructor;void 0!==i&&Object.defineProperty(e,s,i(s)),null==t||t(n,s)}})({descriptor:e=>{const s={get(){var i,e;return null!==(e=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==e?e:null},enumerable:!0,configurable:!0};if(i){const i="symbol"==typeof e?Symbol():"__"+e;s.get=function(){var e,s;return void 0===this[i]&&(this[i]=null!==(s=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==s?s:null),this[i]}}return s}})}(".scrollable")],Ut.prototype,"scrollable",void 0),St([s()],Ut.prototype,"scrolledToTarget",void 0),(kt="ft-infinite-scroll",t=>{window.customElements.get(kt)||window.customElements.define(kt,t)})(Ut),t.FtInfiniteScroll=Ut,t.FtInfiniteScrollCssVariables=Mt,t.VisibleItemsChangeEvent=$t,Object.defineProperty(t,"t",{value:!0})}({});
140
+ function(t,i){return(({finisher:t,descriptor:i})=>(e,s)=>{var n;if(void 0===s){const s=null!==(n=e.originalKey)&&void 0!==n?n:e.key,o=null!=i?{kind:"method",placement:"prototype",key:s,descriptor:i(e.key)}:{...e,key:s};return null!=t&&(o.finisher=function(i){t(i,s)}),o}{const n=e.constructor;void 0!==i&&Object.defineProperty(e,s,i(s)),null==t||t(n,s)}})({descriptor:e=>{const s={get(){var i,e;return null!==(e=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==e?e:null},enumerable:!0,configurable:!0};if(i){const i="symbol"==typeof e?Symbol():"__"+e;s.get=function(){var e,s;return void 0===this[i]&&(this[i]=null!==(s=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==s?s:null),this[i]}}return s}})}(".scrollable")],Ut.prototype,"scrollable",void 0),Ct([s()],Ut.prototype,"scrolledToTarget",void 0),(kt="ft-infinite-scroll",t=>{window.customElements.get(kt)||window.customElements.define(kt,t)})(Ut),t.FtInfiniteScroll=Ut,t.FtInfiniteScrollCssVariables=St,t.VisibleItemsChangeEvent=Mt,Object.defineProperty(t,"i",{value:!0})}({});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-infinite-scroll",
3
- "version": "0.2.22",
3
+ "version": "0.3.2",
4
4
  "description": "An infinite scroller.",
5
5
  "keywords": [
6
6
  "Lit"
@@ -11,16 +11,16 @@
11
11
  "web": "build/ft-infinite-scroll.min.js",
12
12
  "typings": "build/index",
13
13
  "files": [
14
- "build/*.ts",
15
- "build/*.js"
14
+ "build/**/*.ts",
15
+ "build/**/*.js"
16
16
  ],
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-wc-utils": "^0.2.22",
23
- "lit": "2.1.3"
22
+ "@fluid-topics/ft-wc-utils": "0.3.2",
23
+ "lit": "2.2.8"
24
24
  },
25
- "gitHead": "ab090c14b14524bfa890cffb6fe3a38f2362dea9"
25
+ "gitHead": "c1ecfa5c8c0216ac178b5d8363142c3db3d75ef9"
26
26
  }