@a11d/lit 0.0.23 → 0.0.24

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/dist/bundle.js CHANGED
@@ -1 +1 @@
1
- (()=>{"use strict";var t={d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{AsyncReplaceDirective:()=>It,CSSResult:()=>r,Component:()=>Ae,Controller:()=>ge,Directive:()=>gt,HTMLElementEventDispatcher:()=>De,LitElement:()=>ot,PartType:()=>yt,PureEventDispatcher:()=>je,ReactiveElement:()=>_,UnsafeHTMLDirective:()=>he,UntilDirective:()=>ve,UpdatingElement:()=>rt,_$LE:()=>ct,_$LH:()=>et,adoptStyles:()=>c,asyncAppend:()=>zt,asyncReplace:()=>Vt,cache:()=>qt,choose:()=>Kt,classMap:()=>Gt,component:()=>ye,createRef:()=>ee,css:()=>l,defaultConverter:()=>v,directive:()=>At,event:()=>Be,eventListener:()=>Oe,eventOptions:()=>ut,extractEventHandler:()=>Le,getCompatibleStyle:()=>h,guard:()=>Yt,html:()=>L,ifDefined:()=>Jt,join:()=>Zt,keyed:()=>Qt,live:()=>Xt,map:()=>Ft,noChange:()=>D,notEqual:()=>f,nothing:()=>_e,property:()=>Se,query:()=>me,queryAll:()=>be,queryAllAsNodeList:()=>Ee,queryAssignedElements:()=>$t,queryAssignedNodes:()=>_t,queryAsync:()=>pt,range:()=>te,ref:()=>ne,render:()=>V,repeat:()=>oe,state:()=>Te,styleMap:()=>le,supportsAdoptingStyleSheets:()=>i,svg:()=>j,templateContent:()=>ce,unsafeCSS:()=>o,unsafeHTML:()=>ae,unsafeSVG:()=>ue,until:()=>fe,updated:()=>we,when:()=>$e});const i=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class r{constructor(t,e,i){if(this._$cssResult$=!0,i!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(i&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=n.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&n.set(e,t))}return t}toString(){return this.cssText}}const o=t=>new r("string"==typeof t?t:t+"",void 0,s),l=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1]),t[0]);return new r(i,t,s)},c=(t,e)=>{i?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),s=window.litNonce;void 0!==s&&i.setAttribute("nonce",s),i.textContent=e.cssText,t.appendChild(i)}))},h=i?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return o(e)})(t):t;var a;const d=window.trustedTypes,u=d?d.emptyScript:"",p=window.reactiveElementPolyfillSupport,v={toAttribute(t,e){switch(e){case Boolean:t=t?u:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,e)=>e!==t&&(e==e||t==t),$={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:f};class _ extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;null!==(e=this.h)&&void 0!==e||(this.h=[]),this.h.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const s=this._$Ep(i,e);void 0!==s&&(this._$Ev.set(s,i),t.push(s))})),t}static createProperty(t,e=$){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,s=this.getPropertyDescriptor(t,i,e);void 0!==s&&Object.defineProperty(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(s){const n=this[t];this[e]=s,this.requestUpdate(t,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||$}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,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(h(t))}else void 0!==t&&e.push(h(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"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 e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}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 e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=$){var s,n;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const o=(null!==(n=null===(s=i.converter)||void 0===s?void 0:s.toAttribute)&&void 0!==n?n:v.toAttribute)(e,i.type);this._$El=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$El=null}}_$AK(t,e){var i,s;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),o=t.converter,l=null!==(s=null!==(i=null==o?void 0:o.fromAttribute)&&void 0!==i?i:"function"==typeof o?o:null)&&void 0!==s?s:v.fromAttribute;this._$El=r,this[r]=l(e,t.type),this._$El=null}}requestUpdate(t,e,i){let s=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||f)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):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,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.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,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}var y;_.finalized=!0,_.elementProperties=new Map,_.elementStyles=[],_.shadowRootOptions={mode:"open"},null==p||p({ReactiveElement:_}),(null!==(a=globalThis.reactiveElementVersions)&&void 0!==a?a:globalThis.reactiveElementVersions=[]).push("1.3.3");const A=globalThis.trustedTypes,g=A?A.createPolicy("lit-html",{createHTML:t=>t}):void 0,m=`lit$${(Math.random()+"").slice(9)}$`,b="?"+m,E=`<${b}>`,C=document,w=(t="")=>C.createComment(t),S=t=>null===t||"object"!=typeof t&&"function"!=typeof t,T=Array.isArray,P=t=>{var e;return T(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},U=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,x=/>/g,M=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,N=/'/g,k=/"/g,H=/^(?:script|style|textarea|title)$/i,R=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),L=R(1),j=R(2),D=Symbol.for("lit-noChange"),B=Symbol.for("lit-nothing"),I=new WeakMap,V=(t,e,i)=>{var s,n;const r=null!==(s=null==i?void 0:i.renderBefore)&&void 0!==s?s:e;let o=r._$litPart$;if(void 0===o){const t=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:null;r._$litPart$=o=new Y(e.insertBefore(w(),t),t,void 0,null!=i?i:{})}return o._$AI(t),o},z=C.createTreeWalker(C,129,null,!1),q=(t,e)=>{const i=t.length-1,s=[];let n,r=2===e?"<svg>":"",o=U;for(let e=0;e<i;e++){const i=t[e];let l,c,h=-1,a=0;for(;a<i.length&&(o.lastIndex=a,c=o.exec(i),null!==c);)a=o.lastIndex,o===U?"!--"===c[1]?o=O:void 0!==c[1]?o=x:void 0!==c[2]?(H.test(c[2])&&(n=RegExp("</"+c[2],"g")),o=M):void 0!==c[3]&&(o=M):o===M?">"===c[0]?(o=null!=n?n:U,h=-1):void 0===c[1]?h=-2:(h=o.lastIndex-c[2].length,l=c[1],o=void 0===c[3]?M:'"'===c[3]?k:N):o===k||o===N?o=M:o===O||o===x?o=U:(o=M,n=void 0);const d=o===M&&t[e+1].startsWith("/>")?" ":"";r+=o===U?i+E:h>=0?(s.push(l),i.slice(0,h)+"$lit$"+i.slice(h)+m+d):i+m+(-2===h?(s.push(void 0),e):d)}const l=r+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==g?g.createHTML(l):l,s]};class K{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,r=0;const o=t.length-1,l=this.parts,[c,h]=q(t,e);if(this.el=K.createElement(c,i),z.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(s=z.nextNode())&&l.length<o;){if(1===s.nodeType){if(s.hasAttributes()){const t=[];for(const e of s.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(m)){const i=h[r++];if(t.push(e),void 0!==i){const t=s.getAttribute(i.toLowerCase()+"$lit$").split(m),e=/([.?@])?(.*)/.exec(i);l.push({type:1,index:n,name:e[2],strings:t,ctor:"."===e[1]?Z:"?"===e[1]?X:"@"===e[1]?F:J})}else l.push({type:6,index:n})}for(const e of t)s.removeAttribute(e)}if(H.test(s.tagName)){const t=s.textContent.split(m),e=t.length-1;if(e>0){s.textContent=A?A.emptyScript:"";for(let i=0;i<e;i++)s.append(t[i],w()),z.nextNode(),l.push({type:2,index:++n});s.append(t[e],w())}}}else if(8===s.nodeType)if(s.data===b)l.push({type:2,index:n});else{let t=-1;for(;-1!==(t=s.data.indexOf(m,t+1));)l.push({type:7,index:n}),t+=m.length-1}n++}}static createElement(t,e){const i=C.createElement("template");return i.innerHTML=t,i}}function G(t,e,i=t,s){var n,r,o,l;if(e===D)return e;let c=void 0!==s?null===(n=i._$Cl)||void 0===n?void 0:n[s]:i._$Cu;const h=S(e)?void 0:e._$litDirective$;return(null==c?void 0:c.constructor)!==h&&(null===(r=null==c?void 0:c._$AO)||void 0===r||r.call(c,!1),void 0===h?c=void 0:(c=new h(t),c._$AT(t,i,s)),void 0!==s?(null!==(o=(l=i)._$Cl)&&void 0!==o?o:l._$Cl=[])[s]=c:i._$Cu=c),void 0!==c&&(e=G(t,c._$AS(t,e.values),c,s)),e}class W{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:s}=this._$AD,n=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:C).importNode(i,!0);z.currentNode=n;let r=z.nextNode(),o=0,l=0,c=s[0];for(;void 0!==c;){if(o===c.index){let e;2===c.type?e=new Y(r,r.nextSibling,this,t):1===c.type?e=new c.ctor(r,c.name,c.strings,this,t):6===c.type&&(e=new tt(r,this,t)),this.v.push(e),c=s[++l]}o!==(null==c?void 0:c.index)&&(r=z.nextNode(),o++)}return n}m(t){let e=0;for(const i of this.v)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class Y{constructor(t,e,i,s){var n;this.type=2,this._$AH=B,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=s,this._$Cg=null===(n=null==s?void 0:s.isConnected)||void 0===n||n}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=G(this,t,e),S(t)?t===B||null==t||""===t?(this._$AH!==B&&this._$AR(),this._$AH=B):t!==this._$AH&&t!==D&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):P(t)?this.S(t):this.$(t)}M(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==B&&S(this._$AH)?this._$AA.nextSibling.data=t:this.k(C.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:s}=t,n="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=K.createElement(s.h,this.options)),s);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.m(i);else{const t=new W(n,this),e=t.p(this.options);t.m(i),this.k(e),this._$AH=t}}_$AC(t){let e=I.get(t.strings);return void 0===e&&I.set(t.strings,e=new K(t)),e}S(t){T(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new Y(this.M(w()),this.M(w()),this,this.options)):i=e[s],i._$AI(n),s++;s<e.length&&(this._$AR(i&&i._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class J{constructor(t,e,i,s,n){this.type=1,this._$AH=B,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=n,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=B}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,s){const n=this.strings;let r=!1;if(void 0===n)t=G(this,t,e,0),r=!S(t)||t!==this._$AH&&t!==D,r&&(this._$AH=t);else{const s=t;let o,l;for(t=n[0],o=0;o<n.length-1;o++)l=G(this,s[i+o],e,o),l===D&&(l=this._$AH[o]),r||(r=!S(l)||l!==this._$AH[o]),l===B?t=B:t!==B&&(t+=(null!=l?l:"")+n[o+1]),this._$AH[o]=l}r&&!s&&this.C(t)}C(t){t===B?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class Z extends J{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===B?void 0:t}}const Q=A?A.emptyScript:"";class X extends J{constructor(){super(...arguments),this.type=4}C(t){t&&t!==B?this.element.setAttribute(this.name,Q):this.element.removeAttribute(this.name)}}class F extends J{constructor(t,e,i,s,n){super(t,e,i,s,n),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=G(this,t,e,0))&&void 0!==i?i:B)===D)return;const s=this._$AH,n=t===B&&s!==B||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,r=t!==B&&(s===B||n);n&&this.element.removeEventListener(this.name,this,s),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}}class tt{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){G(this,t)}}const et={L:"$lit$",P:m,V:b,I:1,N:q,R:W,j:P,D:G,H:Y,F:J,O:X,W:F,B:Z,Z:tt},it=window.litHtmlPolyfillSupport;var st,nt;null==it||it(K,Y),(null!==(y=globalThis.litHtmlVersions)&&void 0!==y?y:globalThis.litHtmlVersions=[]).push("2.2.6");const rt=_;class ot extends _{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=V(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return D}}ot.finalized=!0,ot._$litElement$=!0,null===(st=globalThis.litElementHydrateSupport)||void 0===st||st.call(globalThis,{LitElement:ot});const lt=globalThis.litElementPolyfillSupport;null==lt||lt({LitElement:ot});const ct={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(nt=globalThis.litElementVersions)&&void 0!==nt?nt:globalThis.litElementVersions=[]).push("3.2.1");const ht=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function at(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):ht(t,e)}const dt=({finisher:t,descriptor:e})=>(i,s)=>{var n;if(void 0===s){const s=null!==(n=i.originalKey)&&void 0!==n?n:i.key,r=null!=e?{kind:"method",placement:"prototype",key:s,descriptor:e(i.key)}:{...i,key:s};return null!=t&&(r.finisher=function(e){t(e,s)}),r}{const n=i.constructor;void 0!==e&&Object.defineProperty(i,s,e(s)),null==t||t(n,s)}};function ut(t){return dt({finisher:(e,i)=>{Object.assign(e.prototype[i],t)}})}function pt(t){return dt({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}var vt;const ft=null!=(null===(vt=window.HTMLSlotElement)||void 0===vt?void 0:vt.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));function $t(t){const{slot:e,selector:i}=null!=t?t:{};return dt({descriptor:s=>({get(){var s;const n="slot"+(e?`[name=${e}]`:":not([name])"),r=null===(s=this.renderRoot)||void 0===s?void 0:s.querySelector(n),o=null!=r?ft(r,t):[];return i?o.filter((t=>t.matches(i))):o},enumerable:!0,configurable:!0})})}function _t(t,e,i){let s,n=t;return"object"==typeof t?(n=t.slot,s=t):s={flatten:e},i?$t({slot:n,flatten:e,selector:i}):dt({descriptor:t=>({get(){var t,e;const i="slot"+(n?`[name=${n}]`:":not([name])"),r=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(i);return null!==(e=null==r?void 0:r.assignedNodes(s))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}const yt={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},At=t=>(...e)=>({_$litDirective$:t,values:e});class gt{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const{H:mt}=et,bt=(t,e)=>{var i,s;return void 0===e?void 0!==(null===(i=t)||void 0===i?void 0:i._$litType$):(null===(s=t)||void 0===s?void 0:s._$litType$)===e},Et=t=>void 0===t.strings,Ct=()=>document.createComment(""),wt=(t,e,i)=>{var s;const n=t._$AA.parentNode,r=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=n.insertBefore(Ct(),r),s=n.insertBefore(Ct(),r);i=new mt(e,s,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,l=o!==t;if(l){let e;null===(s=i._$AQ)||void 0===s||s.call(i,t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==r||l){let t=i._$AA;for(;t!==e;){const e=t.nextSibling;n.insertBefore(t,r),t=e}}}return i},St=(t,e,i=t)=>(t._$AI(e,i),t),Tt={},Pt=(t,e=Tt)=>t._$AH=e,Ut=t=>t._$AH,Ot=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let i=t._$AA;const s=t._$AB.nextSibling;for(;i!==s;){const t=i.nextSibling;i.remove(),i=t}},xt=t=>{t._$AR()},Mt=(t,e)=>{var i,s;const n=t._$AN;if(void 0===n)return!1;for(const t of n)null===(s=(i=t)._$AO)||void 0===s||s.call(i,e,!1),Mt(t,e);return!0},Nt=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===(null==i?void 0:i.size))},kt=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),Lt(e)}};function Ht(t){void 0!==this._$AN?(Nt(this),this._$AM=t,kt(this)):this._$AM=t}function Rt(t,e=!1,i=0){const s=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(e)if(Array.isArray(s))for(let t=i;t<s.length;t++)Mt(s[t],!1),Nt(s[t]);else null!=s&&(Mt(s,!1),Nt(s));else Mt(this,t)}const Lt=t=>{var e,i,s,n;t.type==yt.CHILD&&(null!==(e=(s=t)._$AP)&&void 0!==e||(s._$AP=Rt),null!==(i=(n=t)._$AQ)&&void 0!==i||(n._$AQ=Ht))};class jt extends gt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),kt(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,s;t!==this.isConnected&&(this.isConnected=t,t?null===(i=this.reconnected)||void 0===i||i.call(this):null===(s=this.disconnected)||void 0===s||s.call(this)),e&&(Mt(this,t),Nt(this))}setValue(t){if(Et(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class Dt{constructor(t){this.U=t}disconnect(){this.U=void 0}reconnect(t){this.U=t}deref(){return this.U}}class Bt{constructor(){this.Y=void 0,this.q=void 0}get(){return this.Y}pause(){var t;null!==(t=this.Y)&&void 0!==t||(this.Y=new Promise((t=>this.q=t)))}resume(){var t;null===(t=this.q)||void 0===t||t.call(this),this.Y=this.q=void 0}}class It extends jt{constructor(){super(...arguments),this._$CG=new Dt(this),this._$CK=new Bt}render(t,e){return D}update(t,[e,i]){if(this.isConnected||this.disconnected(),e===this._$CX)return;this._$CX=e;let s=0;const{_$CG:n,_$CK:r}=this;return(async(t,e)=>{for await(const i of t)if(!1===await e(i))return})(e,(async t=>{for(;r.get();)await r.get();const o=n.deref();if(void 0!==o){if(o._$CX!==e)return!1;void 0!==i&&(t=i(t,s)),o.commitValue(t,s),s++}return!0})),D}commitValue(t,e){this.setValue(t)}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const Vt=At(It),zt=At(class extends It{constructor(t){if(super(t),t.type!==yt.CHILD)throw Error("asyncAppend can only be used in child expressions")}update(t,e){return this._$CJ=t,super.update(t,e)}commitValue(t,e){0===e&&xt(this._$CJ);const i=wt(this._$CJ);St(i,t)}}),qt=At(class extends gt{constructor(t){super(t),this.tt=new WeakMap}render(t){return[t]}update(t,[e]){if(bt(this.it)&&(!bt(e)||this.it.strings!==e.strings)){const e=Ut(t).pop();let i=this.tt.get(this.it.strings);if(void 0===i){const t=document.createDocumentFragment();i=V(B,t),i.setConnected(!1),this.tt.set(this.it.strings,i)}Pt(i,[e]),wt(i,void 0,e)}if(bt(e)){if(!bt(this.it)||this.it.strings!==e.strings){const i=this.tt.get(e.strings);if(void 0!==i){const e=Ut(i).pop();xt(t),wt(t,void 0,e),Pt(t,[e])}}this.it=e}else this.it=void 0;return this.render(e)}}),Kt=(t,e,i)=>{for(const i of e)if(i[0]===t)return(0,i[1])();return null==i?void 0:i()},Gt=At(class extends gt{constructor(t){var e;if(super(t),t.type!==yt.ATTRIBUTE||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var i,s;if(void 0===this.et){this.et=new Set,void 0!==t.strings&&(this.st=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!(null===(i=this.st)||void 0===i?void 0:i.has(t))&&this.et.add(t);return this.render(e)}const n=t.element.classList;this.et.forEach((t=>{t in e||(n.remove(t),this.et.delete(t))}));for(const t in e){const i=!!e[t];i===this.et.has(t)||(null===(s=this.st)||void 0===s?void 0:s.has(t))||(i?(n.add(t),this.et.add(t)):(n.remove(t),this.et.delete(t)))}return D}}),Wt={},Yt=At(class extends gt{constructor(){super(...arguments),this.nt=Wt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.nt)&&this.nt.length===e.length&&e.every(((t,e)=>t===this.nt[e])))return D}else if(this.nt===e)return D;return this.nt=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),Jt=t=>null!=t?t:B;function*Zt(t,e){const i="function"==typeof e;if(void 0!==t){let s=-1;for(const n of t)s>-1&&(yield i?e(s):e),s++,yield n}}const Qt=At(class extends gt{constructor(){super(...arguments),this.key=B}render(t,e){return this.key=t,e}update(t,[e,i]){return e!==this.key&&(Pt(t),this.key=e),i}}),Xt=At(class extends gt{constructor(t){if(super(t),t.type!==yt.PROPERTY&&t.type!==yt.ATTRIBUTE&&t.type!==yt.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!Et(t))throw Error("`live` bindings can only contain a single expression")}render(t){return t}update(t,[e]){if(e===D||e===B)return e;const i=t.element,s=t.name;if(t.type===yt.PROPERTY){if(e===i[s])return D}else if(t.type===yt.BOOLEAN_ATTRIBUTE){if(!!e===i.hasAttribute(s))return D}else if(t.type===yt.ATTRIBUTE&&i.getAttribute(s)===e+"")return D;return Pt(t),e}});function*Ft(t,e){if(void 0!==t){let i=0;for(const s of t)yield e(s,i++)}}function*te(t,e,i=1){const s=void 0===e?0:t;null!=e||(e=t);for(let t=s;i>0?t<e:e<t;t+=i)yield t}const ee=()=>new ie;class ie{}const se=new WeakMap,ne=At(class extends jt{render(t){return B}update(t,[e]){var i;const s=e!==this.U;return s&&void 0!==this.U&&this.ot(void 0),(s||this.rt!==this.lt)&&(this.U=e,this.ht=null===(i=t.options)||void 0===i?void 0:i.host,this.ot(this.lt=t.element)),B}ot(t){var e;if("function"==typeof this.U){const i=null!==(e=this.ht)&&void 0!==e?e:globalThis;let s=se.get(i);void 0===s&&(s=new WeakMap,se.set(i,s)),void 0!==s.get(this.U)&&this.U.call(this.ht,void 0),s.set(this.U,t),void 0!==t&&this.U.call(this.ht,t)}else this.U.value=t}get rt(){var t,e,i;return"function"==typeof this.U?null===(e=se.get(null!==(t=this.ht)&&void 0!==t?t:globalThis))||void 0===e?void 0:e.get(this.U):null===(i=this.U)||void 0===i?void 0:i.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),re=(t,e,i)=>{const s=new Map;for(let n=e;n<=i;n++)s.set(t[n],n);return s},oe=At(class extends gt{constructor(t){if(super(t),t.type!==yt.CHILD)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let s;void 0===i?i=e:void 0!==e&&(s=e);const n=[],r=[];let o=0;for(const e of t)n[o]=s?s(e,o):o,r[o]=i(e,o),o++;return{values:r,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,s]){var n;const r=Ut(t),{values:o,keys:l}=this.dt(e,i,s);if(!Array.isArray(r))return this.ut=l,o;const c=null!==(n=this.ut)&&void 0!==n?n:this.ut=[],h=[];let a,d,u=0,p=r.length-1,v=0,f=o.length-1;for(;u<=p&&v<=f;)if(null===r[u])u++;else if(null===r[p])p--;else if(c[u]===l[v])h[v]=St(r[u],o[v]),u++,v++;else if(c[p]===l[f])h[f]=St(r[p],o[f]),p--,f--;else if(c[u]===l[f])h[f]=St(r[u],o[f]),wt(t,h[f+1],r[u]),u++,f--;else if(c[p]===l[v])h[v]=St(r[p],o[v]),wt(t,r[u],r[p]),p--,v++;else if(void 0===a&&(a=re(l,v,f),d=re(c,u,p)),a.has(c[u]))if(a.has(c[p])){const e=d.get(l[v]),i=void 0!==e?r[e]:null;if(null===i){const e=wt(t,r[u]);St(e,o[v]),h[v]=e}else h[v]=St(i,o[v]),wt(t,r[u],i),r[e]=null;v++}else Ot(r[p]),p--;else Ot(r[u]),u++;for(;v<=f;){const e=wt(t,h[f+1]);St(e,o[v]),h[v++]=e}for(;u<=p;){const t=r[u++];null!==t&&Ot(t)}return this.ut=l,Pt(t,h),D}}),le=At(class extends gt{constructor(t){var e;if(super(t),t.type!==yt.ATTRIBUTE||"style"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,i)=>{const s=t[i];return null==s?e:e+`${i=i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`}),"")}update(t,[e]){const{style:i}=t.element;if(void 0===this.ct){this.ct=new Set;for(const t in e)this.ct.add(t);return this.render(e)}this.ct.forEach((t=>{null==e[t]&&(this.ct.delete(t),t.includes("-")?i.removeProperty(t):i[t]="")}));for(const t in e){const s=e[t];null!=s&&(this.ct.add(t),t.includes("-")?i.setProperty(t,s):i[t]=s)}return D}}),ce=At(class extends gt{constructor(t){if(super(t),t.type!==yt.CHILD)throw Error("templateContent can only be used in child bindings")}render(t){return this.vt===t?D:(this.vt=t,document.importNode(t.content,!0))}});class he extends gt{constructor(t){if(super(t),this.it=B,t.type!==yt.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===B||null==t)return this.ft=void 0,this.it=t;if(t===D)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 e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}he.directiveName="unsafeHTML",he.resultType=1;const ae=At(he);class de extends he{}de.directiveName="unsafeSVG",de.resultType=2;const ue=At(de),pe=t=>!(t=>null===t||"object"!=typeof t&&"function"!=typeof t)(t)&&"function"==typeof t.then;class ve extends jt{constructor(){super(...arguments),this._$Cwt=1073741823,this._$Cyt=[],this._$CG=new Dt(this),this._$CK=new Bt}render(...t){var e;return null!==(e=t.find((t=>!pe(t))))&&void 0!==e?e:D}update(t,e){const i=this._$Cyt;let s=i.length;this._$Cyt=e;const n=this._$CG,r=this._$CK;this.isConnected||this.disconnected();for(let t=0;t<e.length&&!(t>this._$Cwt);t++){const o=e[t];if(!pe(o))return this._$Cwt=t,o;t<s&&o===i[t]||(this._$Cwt=1073741823,s=0,Promise.resolve(o).then((async t=>{for(;r.get();)await r.get();const e=n.deref();if(void 0!==e){const i=e._$Cyt.indexOf(o);i>-1&&i<e._$Cwt&&(e._$Cwt=i,e.setValue(t))}})))}return D}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const fe=At(ve);function $e(t,e,i){return t?e():null==i?void 0:i()}const _e=B,ye=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:s}=e;return{kind:i,elements:s,finisher(e){window.customElements.define(t,e)}}})(t,e);class Ae extends ot{initialized(){}connected(){}disconnected(){}render(){return this.template}get template(){return _e}firstUpdated(t){super.firstUpdated(t),this.initialized()}connectedCallback(){super.connectedCallback(),this.connected()}disconnectedCallback(){super.disconnectedCallback(),this.disconnected()}}class ge{constructor(t){this.host=t,this.host.addController(this)}}const me=t=>(e,i)=>{Object.defineProperty(e,i,{get(){return this.renderRoot.querySelector(t)??void 0}})},be=t=>(e,i)=>{Object.defineProperty(e,i,{get(){return[...this.renderRoot.querySelectorAll(t)]}})},Ee=function(t){return dt({descriptor:e=>({get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==i?i:[]},enumerable:!0,configurable:!0})})},Ce=({constructorPropertyName:t,prototype:e,initialValue:i,lifecycleHooks:s})=>{const n=e,r=e.constructor,o=Object.getOwnPropertyDescriptor(r,t)?.value;if(o)return o;const l=r[t],c=l?Object.assign(i,l):i;Object.defineProperty(r,t,{value:c});for(const[t,e]of s){const i=n[t];n[t]=function(...t){i.call(this,...t),e.call(this,c,...t)}}return c},we=t=>(e,i)=>{Ce({prototype:e,constructorPropertyName:"$observers$",initialValue:new Map,lifecycleHooks:new Map([["updated",function(t,e){for(const[i,s]of e){const e=i,n=t?.get(e);void 0!==n&&n.call(this,this[e],s)}}]])}).set(i,t)},Se=t=>(e,i)=>(t?.updated&&we(t.updated)(e,i),at(t)(e,i)),Te=t=>(e,i)=>(t?.updated&&we(t.updated)(e,i),function(t){return at({...t,state:!0})}(t)(e,i));function Pe(t){const e=(t=>"string"==typeof t[0])(t);return{type:e?t[0]:t[0].type,target:e?void 0:t[0].target,options:e?t[1]:t[0].options}}function Ue(t){return"function"==typeof t?t.call(this):t??this}const Oe=(...t)=>(e,i,s)=>{Ce({prototype:e,constructorPropertyName:"$eventListeners$",initialValue:new Map,lifecycleHooks:new Map([["connectedCallback",function(t){for(const[e,{type:i,target:s,options:n,descriptor:r,property:o}]of t)this.constructor.name===Me(e)&&(ke.call(this,o,r),Ue.call(this,s)?.addEventListener(i,Ne.call(this,o),n))}],["disconnectedCallback",function(t){for(const{type:e,target:i,options:s,property:n}of t.values())Ue.call(this,i)?.removeEventListener(e,Ne.call(this,n),s)}]])}).set(xe(e.constructor,i),{descriptor:s,property:i,...Pe(t)})},xe=(t,e)=>`${t.name}.${e}`,Me=t=>t.split(".")[0];function Ne(t){return Object.getOwnPropertyDescriptor(this,He(t))?.value}function ke(t,e){const i=e?"function"==typeof e.get?e.get:e.value:Object.getOwnPropertyDescriptor(this,t)?.value;if(!1===Re(i))throw new TypeError(`${xe(this.constructor,t)} is not a function`);Object.defineProperty(this,He(t),{value:i.bind(this),configurable:!0,enumerable:!1,writable:!1})}const He=t=>`$BOUND_${t}$`,Re=t=>{const e="function"==typeof t,i="object"==typeof t&&null!==t&&"handleEvent"in t&&"function"==typeof t.handleEvent;return e||i},Le=t=>{if("_$committedValue"in t){const e=t;return t._$committedValue.bind(e.element)}return"function"==typeof t?t:t.handleEvent};class je{constructor(){this.handlers=new Set}subscribe(t){this.handlers.add(t)}unsubscribe(t){this.handlers.delete(t)}dispatch(t){for(const e of this.handlers)e(t)}}class De{constructor(t,e,i){this.element=t,this.type=e,this.options=i,this.handlersMap=new Map}dispatch(t){this.element.dispatchEvent(new CustomEvent(this.type,{detail:t,...this.options}))}subscribe(t){const e=e=>t(e.detail);this.element.addEventListener(this.type,e),this.handlersMap.set(t,e)}unsubscribe(t){const e=this.handlersMap.get(t);e&&this.element.removeEventListener(this.type,e),this.handlersMap.delete(t)}}function Be(t){return(e,i)=>{if(void 0===i)return;const s=`$${i}Event$`;Object.defineProperty(e,i,{get(){return this[s]||(this[s]=this instanceof HTMLElement?new De(this,i,t):new je),this[s]}})}}self.Lit=e})();
1
+ (()=>{"use strict";var t={d:(e,s)=>{for(var i in s)t.o(s,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:s[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{AsyncReplaceDirective:()=>It,CSSResult:()=>r,Component:()=>Ae,Controller:()=>ge,Directive:()=>gt,HTMLElementEventDispatcher:()=>ze,LitElement:()=>ot,PartType:()=>_t,PureEventDispatcher:()=>Ve,ReactiveElement:()=>y,UnsafeHTMLDirective:()=>he,UntilDirective:()=>ve,UpdatingElement:()=>rt,_$LE:()=>ct,_$LH:()=>et,adoptStyles:()=>c,asyncAppend:()=>zt,asyncReplace:()=>Vt,cache:()=>qt,choose:()=>Kt,classMap:()=>Gt,component:()=>_e,createRef:()=>ee,css:()=>l,defaultConverter:()=>v,directive:()=>At,event:()=>qe,eventListener:()=>Me,eventListenersSymbol:()=>xe,eventOptions:()=>ut,extractEventHandler:()=>ke,getCompatibleStyle:()=>h,guard:()=>Yt,html:()=>L,ifDefined:()=>Jt,join:()=>Zt,keyed:()=>Qt,live:()=>Xt,map:()=>Ft,noChange:()=>D,notEqual:()=>f,nothing:()=>ye,property:()=>Ue,query:()=>me,queryAll:()=>be,queryAllAsNodeList:()=>Ee,queryAssignedElements:()=>$t,queryAssignedNodes:()=>yt,queryAsync:()=>pt,range:()=>te,ref:()=>ne,render:()=>V,repeat:()=>oe,state:()=>Oe,styleMap:()=>le,supportsAdoptingStyleSheets:()=>s,svg:()=>j,templateContent:()=>ce,unsafeCSS:()=>o,unsafeHTML:()=>ae,unsafeSVG:()=>ue,until:()=>fe,updated:()=>Pe,updatedObserversSymbol:()=>Te,when:()=>$e});const s=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),n=new WeakMap;class r{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(s&&void 0===t){const s=void 0!==e&&1===e.length;s&&(t=n.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&n.set(e,t))}return t}toString(){return this.cssText}}const o=t=>new r("string"==typeof t?t:t+"",void 0,i),l=(t,...e)=>{const s=1===t.length?t[0]:e.reduce(((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1]),t[0]);return new r(s,t,i)},c=(t,e)=>{s?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const s=document.createElement("style"),i=window.litNonce;void 0!==i&&s.setAttribute("nonce",i),s.textContent=e.cssText,t.appendChild(s)}))},h=s?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return o(e)})(t):t;var a;const d=window.trustedTypes,u=d?d.emptyScript:"",p=window.reactiveElementPolyfillSupport,v={toAttribute(t,e){switch(e){case Boolean:t=t?u:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},f=(t,e)=>e!==t&&(e==e||t==t),$={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:f};class y extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;null!==(e=this.h)&&void 0!==e||(this.h=[]),this.h.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,s)=>{const i=this._$Ep(s,e);void 0!==i&&(this._$Ev.set(i,s),t.push(i))})),t}static createProperty(t,e=$){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const s="symbol"==typeof t?Symbol():"__"+t,i=this.getPropertyDescriptor(t,s,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){return{get(){return this[e]},set(i){const n=this[t];this[e]=i,this.requestUpdate(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||$}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,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of e)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(h(t))}else void 0!==t&&e.push(h(t));return e}static _$Ep(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"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 e,s;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}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 e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EO(t,e,s=$){var i,n;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const o=(null!==(n=null===(i=s.converter)||void 0===i?void 0:i.toAttribute)&&void 0!==n?n:v.toAttribute)(e,s.type);this._$El=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$El=null}}_$AK(t,e){var s,i;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),o=t.converter,l=null!==(i=null!==(s=null==o?void 0:o.fromAttribute)&&void 0!==s?s:"function"==typeof o?o:null)&&void 0!==i?i:v.fromAttribute;this._$El=r,this[r]=l(e,t.type),this._$El=null}}requestUpdate(t,e,s){let i=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||f)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):i=!1),!this.isUpdatePending&&i&&(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,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(s)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(s)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.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,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}var _;y.finalized=!0,y.elementProperties=new Map,y.elementStyles=[],y.shadowRootOptions={mode:"open"},null==p||p({ReactiveElement:y}),(null!==(a=globalThis.reactiveElementVersions)&&void 0!==a?a:globalThis.reactiveElementVersions=[]).push("1.3.3");const A=globalThis.trustedTypes,g=A?A.createPolicy("lit-html",{createHTML:t=>t}):void 0,m=`lit$${(Math.random()+"").slice(9)}$`,b="?"+m,E=`<${b}>`,C=document,w=(t="")=>C.createComment(t),S=t=>null===t||"object"!=typeof t&&"function"!=typeof t,T=Array.isArray,P=t=>{var e;return T(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},U=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,x=/>/g,M=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,k=/'/g,H=/"/g,N=/^(?:script|style|textarea|title)$/i,R=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),L=R(1),j=R(2),D=Symbol.for("lit-noChange"),B=Symbol.for("lit-nothing"),I=new WeakMap,V=(t,e,s)=>{var i,n;const r=null!==(i=null==s?void 0:s.renderBefore)&&void 0!==i?i:e;let o=r._$litPart$;if(void 0===o){const t=null!==(n=null==s?void 0:s.renderBefore)&&void 0!==n?n:null;r._$litPart$=o=new Y(e.insertBefore(w(),t),t,void 0,null!=s?s:{})}return o._$AI(t),o},z=C.createTreeWalker(C,129,null,!1),q=(t,e)=>{const s=t.length-1,i=[];let n,r=2===e?"<svg>":"",o=U;for(let e=0;e<s;e++){const s=t[e];let l,c,h=-1,a=0;for(;a<s.length&&(o.lastIndex=a,c=o.exec(s),null!==c);)a=o.lastIndex,o===U?"!--"===c[1]?o=O:void 0!==c[1]?o=x:void 0!==c[2]?(N.test(c[2])&&(n=RegExp("</"+c[2],"g")),o=M):void 0!==c[3]&&(o=M):o===M?">"===c[0]?(o=null!=n?n:U,h=-1):void 0===c[1]?h=-2:(h=o.lastIndex-c[2].length,l=c[1],o=void 0===c[3]?M:'"'===c[3]?H:k):o===H||o===k?o=M:o===O||o===x?o=U:(o=M,n=void 0);const d=o===M&&t[e+1].startsWith("/>")?" ":"";r+=o===U?s+E:h>=0?(i.push(l),s.slice(0,h)+"$lit$"+s.slice(h)+m+d):s+m+(-2===h?(i.push(void 0),e):d)}const l=r+(t[s]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==g?g.createHTML(l):l,i]};class K{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let n=0,r=0;const o=t.length-1,l=this.parts,[c,h]=q(t,e);if(this.el=K.createElement(c,s),z.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(i=z.nextNode())&&l.length<o;){if(1===i.nodeType){if(i.hasAttributes()){const t=[];for(const e of i.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(m)){const s=h[r++];if(t.push(e),void 0!==s){const t=i.getAttribute(s.toLowerCase()+"$lit$").split(m),e=/([.?@])?(.*)/.exec(s);l.push({type:1,index:n,name:e[2],strings:t,ctor:"."===e[1]?Z:"?"===e[1]?X:"@"===e[1]?F:J})}else l.push({type:6,index:n})}for(const e of t)i.removeAttribute(e)}if(N.test(i.tagName)){const t=i.textContent.split(m),e=t.length-1;if(e>0){i.textContent=A?A.emptyScript:"";for(let s=0;s<e;s++)i.append(t[s],w()),z.nextNode(),l.push({type:2,index:++n});i.append(t[e],w())}}}else if(8===i.nodeType)if(i.data===b)l.push({type:2,index:n});else{let t=-1;for(;-1!==(t=i.data.indexOf(m,t+1));)l.push({type:7,index:n}),t+=m.length-1}n++}}static createElement(t,e){const s=C.createElement("template");return s.innerHTML=t,s}}function G(t,e,s=t,i){var n,r,o,l;if(e===D)return e;let c=void 0!==i?null===(n=s._$Cl)||void 0===n?void 0:n[i]:s._$Cu;const h=S(e)?void 0:e._$litDirective$;return(null==c?void 0:c.constructor)!==h&&(null===(r=null==c?void 0:c._$AO)||void 0===r||r.call(c,!1),void 0===h?c=void 0:(c=new h(t),c._$AT(t,s,i)),void 0!==i?(null!==(o=(l=s)._$Cl)&&void 0!==o?o:l._$Cl=[])[i]=c:s._$Cu=c),void 0!==c&&(e=G(t,c._$AS(t,e.values),c,i)),e}class W{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:s},parts:i}=this._$AD,n=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:C).importNode(s,!0);z.currentNode=n;let r=z.nextNode(),o=0,l=0,c=i[0];for(;void 0!==c;){if(o===c.index){let e;2===c.type?e=new Y(r,r.nextSibling,this,t):1===c.type?e=new c.ctor(r,c.name,c.strings,this,t):6===c.type&&(e=new tt(r,this,t)),this.v.push(e),c=i[++l]}o!==(null==c?void 0:c.index)&&(r=z.nextNode(),o++)}return n}m(t){let e=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class Y{constructor(t,e,s,i){var n;this.type=2,this._$AH=B,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=i,this._$Cg=null===(n=null==i?void 0:i.isConnected)||void 0===n||n}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=G(this,t,e),S(t)?t===B||null==t||""===t?(this._$AH!==B&&this._$AR(),this._$AH=B):t!==this._$AH&&t!==D&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):P(t)?this.S(t):this.$(t)}M(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==B&&S(this._$AH)?this._$AA.nextSibling.data=t:this.k(C.createTextNode(t)),this._$AH=t}T(t){var e;const{values:s,_$litType$:i}=t,n="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=K.createElement(i.h,this.options)),i);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.m(s);else{const t=new W(n,this),e=t.p(this.options);t.m(s),this.k(e),this._$AH=t}}_$AC(t){let e=I.get(t.strings);return void 0===e&&I.set(t.strings,e=new K(t)),e}S(t){T(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const n of t)i===e.length?e.push(s=new Y(this.M(w()),this.M(w()),this,this.options)):s=e[i],s._$AI(n),i++;i<e.length&&(this._$AR(s&&s._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class J{constructor(t,e,s,i,n){this.type=1,this._$AH=B,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=n,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=B}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,i){const n=this.strings;let r=!1;if(void 0===n)t=G(this,t,e,0),r=!S(t)||t!==this._$AH&&t!==D,r&&(this._$AH=t);else{const i=t;let o,l;for(t=n[0],o=0;o<n.length-1;o++)l=G(this,i[s+o],e,o),l===D&&(l=this._$AH[o]),r||(r=!S(l)||l!==this._$AH[o]),l===B?t=B:t!==B&&(t+=(null!=l?l:"")+n[o+1]),this._$AH[o]=l}r&&!i&&this.C(t)}C(t){t===B?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class Z extends J{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===B?void 0:t}}const Q=A?A.emptyScript:"";class X extends J{constructor(){super(...arguments),this.type=4}C(t){t&&t!==B?this.element.setAttribute(this.name,Q):this.element.removeAttribute(this.name)}}class F extends J{constructor(t,e,s,i,n){super(t,e,s,i,n),this.type=5}_$AI(t,e=this){var s;if((t=null!==(s=G(this,t,e,0))&&void 0!==s?s:B)===D)return;const i=this._$AH,n=t===B&&i!==B||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,r=t!==B&&(i===B||n);n&&this.element.removeEventListener(this.name,this,i),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class tt{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){G(this,t)}}const et={L:"$lit$",P:m,V:b,I:1,N:q,R:W,j:P,D:G,H:Y,F:J,O:X,W:F,B:Z,Z:tt},st=window.litHtmlPolyfillSupport;var it,nt;null==st||st(K,Y),(null!==(_=globalThis.litHtmlVersions)&&void 0!==_?_:globalThis.litHtmlVersions=[]).push("2.2.6");const rt=y;class ot extends y{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const s=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=s.firstChild),s}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=V(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return D}}ot.finalized=!0,ot._$litElement$=!0,null===(it=globalThis.litElementHydrateSupport)||void 0===it||it.call(globalThis,{LitElement:ot});const lt=globalThis.litElementPolyfillSupport;null==lt||lt({LitElement:ot});const ct={_$AK:(t,e,s)=>{t._$AK(e,s)},_$AL:t=>t._$AL};(null!==(nt=globalThis.litElementVersions)&&void 0!==nt?nt:globalThis.litElementVersions=[]).push("3.2.1");const ht=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(s){s.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(s){s.createProperty(e.key,t)}};function at(t){return(e,s)=>void 0!==s?((t,e,s)=>{e.constructor.createProperty(s,t)})(t,e,s):ht(t,e)}const dt=({finisher:t,descriptor:e})=>(s,i)=>{var n;if(void 0===i){const i=null!==(n=s.originalKey)&&void 0!==n?n:s.key,r=null!=e?{kind:"method",placement:"prototype",key:i,descriptor:e(s.key)}:{...s,key:i};return null!=t&&(r.finisher=function(e){t(e,i)}),r}{const n=s.constructor;void 0!==e&&Object.defineProperty(s,i,e(i)),null==t||t(n,i)}};function ut(t){return dt({finisher:(e,s)=>{Object.assign(e.prototype[s],t)}})}function pt(t){return dt({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}var vt;const ft=null!=(null===(vt=window.HTMLSlotElement)||void 0===vt?void 0:vt.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));function $t(t){const{slot:e,selector:s}=null!=t?t:{};return dt({descriptor:i=>({get(){var i;const n="slot"+(e?`[name=${e}]`:":not([name])"),r=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(n),o=null!=r?ft(r,t):[];return s?o.filter((t=>t.matches(s))):o},enumerable:!0,configurable:!0})})}function yt(t,e,s){let i,n=t;return"object"==typeof t?(n=t.slot,i=t):i={flatten:e},s?$t({slot:n,flatten:e,selector:s}):dt({descriptor:t=>({get(){var t,e;const s="slot"+(n?`[name=${n}]`:":not([name])"),r=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(s);return null!==(e=null==r?void 0:r.assignedNodes(i))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}const _t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},At=t=>(...e)=>({_$litDirective$:t,values:e});class gt{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const{H:mt}=et,bt=(t,e)=>{var s,i;return void 0===e?void 0!==(null===(s=t)||void 0===s?void 0:s._$litType$):(null===(i=t)||void 0===i?void 0:i._$litType$)===e},Et=t=>void 0===t.strings,Ct=()=>document.createComment(""),wt=(t,e,s)=>{var i;const n=t._$AA.parentNode,r=void 0===e?t._$AB:e._$AA;if(void 0===s){const e=n.insertBefore(Ct(),r),i=n.insertBefore(Ct(),r);s=new mt(e,i,t,t.options)}else{const e=s._$AB.nextSibling,o=s._$AM,l=o!==t;if(l){let e;null===(i=s._$AQ)||void 0===i||i.call(s,t),s._$AM=t,void 0!==s._$AP&&(e=t._$AU)!==o._$AU&&s._$AP(e)}if(e!==r||l){let t=s._$AA;for(;t!==e;){const e=t.nextSibling;n.insertBefore(t,r),t=e}}}return s},St=(t,e,s=t)=>(t._$AI(e,s),t),Tt={},Pt=(t,e=Tt)=>t._$AH=e,Ut=t=>t._$AH,Ot=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let s=t._$AA;const i=t._$AB.nextSibling;for(;s!==i;){const t=s.nextSibling;s.remove(),s=t}},xt=t=>{t._$AR()},Mt=(t,e)=>{var s,i;const n=t._$AN;if(void 0===n)return!1;for(const t of n)null===(i=(s=t)._$AO)||void 0===i||i.call(s,e,!1),Mt(t,e);return!0},kt=t=>{let e,s;do{if(void 0===(e=t._$AM))break;s=e._$AN,s.delete(t),t=e}while(0===(null==s?void 0:s.size))},Ht=t=>{for(let e;e=t._$AM;t=e){let s=e._$AN;if(void 0===s)e._$AN=s=new Set;else if(s.has(t))break;s.add(t),Lt(e)}};function Nt(t){void 0!==this._$AN?(kt(this),this._$AM=t,Ht(this)):this._$AM=t}function Rt(t,e=!1,s=0){const i=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(e)if(Array.isArray(i))for(let t=s;t<i.length;t++)Mt(i[t],!1),kt(i[t]);else null!=i&&(Mt(i,!1),kt(i));else Mt(this,t)}const Lt=t=>{var e,s,i,n;t.type==_t.CHILD&&(null!==(e=(i=t)._$AP)&&void 0!==e||(i._$AP=Rt),null!==(s=(n=t)._$AQ)&&void 0!==s||(n._$AQ=Nt))};class jt extends gt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),Ht(this),this.isConnected=t._$AU}_$AO(t,e=!0){var s,i;t!==this.isConnected&&(this.isConnected=t,t?null===(s=this.reconnected)||void 0===s||s.call(this):null===(i=this.disconnected)||void 0===i||i.call(this)),e&&(Mt(this,t),kt(this))}setValue(t){if(Et(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class Dt{constructor(t){this.U=t}disconnect(){this.U=void 0}reconnect(t){this.U=t}deref(){return this.U}}class Bt{constructor(){this.Y=void 0,this.q=void 0}get(){return this.Y}pause(){var t;null!==(t=this.Y)&&void 0!==t||(this.Y=new Promise((t=>this.q=t)))}resume(){var t;null===(t=this.q)||void 0===t||t.call(this),this.Y=this.q=void 0}}class It extends jt{constructor(){super(...arguments),this._$CG=new Dt(this),this._$CK=new Bt}render(t,e){return D}update(t,[e,s]){if(this.isConnected||this.disconnected(),e===this._$CX)return;this._$CX=e;let i=0;const{_$CG:n,_$CK:r}=this;return(async(t,e)=>{for await(const s of t)if(!1===await e(s))return})(e,(async t=>{for(;r.get();)await r.get();const o=n.deref();if(void 0!==o){if(o._$CX!==e)return!1;void 0!==s&&(t=s(t,i)),o.commitValue(t,i),i++}return!0})),D}commitValue(t,e){this.setValue(t)}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const Vt=At(It),zt=At(class extends It{constructor(t){if(super(t),t.type!==_t.CHILD)throw Error("asyncAppend can only be used in child expressions")}update(t,e){return this._$CJ=t,super.update(t,e)}commitValue(t,e){0===e&&xt(this._$CJ);const s=wt(this._$CJ);St(s,t)}}),qt=At(class extends gt{constructor(t){super(t),this.tt=new WeakMap}render(t){return[t]}update(t,[e]){if(bt(this.it)&&(!bt(e)||this.it.strings!==e.strings)){const e=Ut(t).pop();let s=this.tt.get(this.it.strings);if(void 0===s){const t=document.createDocumentFragment();s=V(B,t),s.setConnected(!1),this.tt.set(this.it.strings,s)}Pt(s,[e]),wt(s,void 0,e)}if(bt(e)){if(!bt(this.it)||this.it.strings!==e.strings){const s=this.tt.get(e.strings);if(void 0!==s){const e=Ut(s).pop();xt(t),wt(t,void 0,e),Pt(t,[e])}}this.it=e}else this.it=void 0;return this.render(e)}}),Kt=(t,e,s)=>{for(const s of e)if(s[0]===t)return(0,s[1])();return null==s?void 0:s()},Gt=At(class extends gt{constructor(t){var e;if(super(t),t.type!==_t.ATTRIBUTE||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var s,i;if(void 0===this.et){this.et=new Set,void 0!==t.strings&&(this.st=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!(null===(s=this.st)||void 0===s?void 0:s.has(t))&&this.et.add(t);return this.render(e)}const n=t.element.classList;this.et.forEach((t=>{t in e||(n.remove(t),this.et.delete(t))}));for(const t in e){const s=!!e[t];s===this.et.has(t)||(null===(i=this.st)||void 0===i?void 0:i.has(t))||(s?(n.add(t),this.et.add(t)):(n.remove(t),this.et.delete(t)))}return D}}),Wt={},Yt=At(class extends gt{constructor(){super(...arguments),this.nt=Wt}render(t,e){return e()}update(t,[e,s]){if(Array.isArray(e)){if(Array.isArray(this.nt)&&this.nt.length===e.length&&e.every(((t,e)=>t===this.nt[e])))return D}else if(this.nt===e)return D;return this.nt=Array.isArray(e)?Array.from(e):e,this.render(e,s)}}),Jt=t=>null!=t?t:B;function*Zt(t,e){const s="function"==typeof e;if(void 0!==t){let i=-1;for(const n of t)i>-1&&(yield s?e(i):e),i++,yield n}}const Qt=At(class extends gt{constructor(){super(...arguments),this.key=B}render(t,e){return this.key=t,e}update(t,[e,s]){return e!==this.key&&(Pt(t),this.key=e),s}}),Xt=At(class extends gt{constructor(t){if(super(t),t.type!==_t.PROPERTY&&t.type!==_t.ATTRIBUTE&&t.type!==_t.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!Et(t))throw Error("`live` bindings can only contain a single expression")}render(t){return t}update(t,[e]){if(e===D||e===B)return e;const s=t.element,i=t.name;if(t.type===_t.PROPERTY){if(e===s[i])return D}else if(t.type===_t.BOOLEAN_ATTRIBUTE){if(!!e===s.hasAttribute(i))return D}else if(t.type===_t.ATTRIBUTE&&s.getAttribute(i)===e+"")return D;return Pt(t),e}});function*Ft(t,e){if(void 0!==t){let s=0;for(const i of t)yield e(i,s++)}}function*te(t,e,s=1){const i=void 0===e?0:t;null!=e||(e=t);for(let t=i;s>0?t<e:e<t;t+=s)yield t}const ee=()=>new se;class se{}const ie=new WeakMap,ne=At(class extends jt{render(t){return B}update(t,[e]){var s;const i=e!==this.U;return i&&void 0!==this.U&&this.ot(void 0),(i||this.rt!==this.lt)&&(this.U=e,this.ht=null===(s=t.options)||void 0===s?void 0:s.host,this.ot(this.lt=t.element)),B}ot(t){var e;if("function"==typeof this.U){const s=null!==(e=this.ht)&&void 0!==e?e:globalThis;let i=ie.get(s);void 0===i&&(i=new WeakMap,ie.set(s,i)),void 0!==i.get(this.U)&&this.U.call(this.ht,void 0),i.set(this.U,t),void 0!==t&&this.U.call(this.ht,t)}else this.U.value=t}get rt(){var t,e,s;return"function"==typeof this.U?null===(e=ie.get(null!==(t=this.ht)&&void 0!==t?t:globalThis))||void 0===e?void 0:e.get(this.U):null===(s=this.U)||void 0===s?void 0:s.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),re=(t,e,s)=>{const i=new Map;for(let n=e;n<=s;n++)i.set(t[n],n);return i},oe=At(class extends gt{constructor(t){if(super(t),t.type!==_t.CHILD)throw Error("repeat() can only be used in text expressions")}dt(t,e,s){let i;void 0===s?s=e:void 0!==e&&(i=e);const n=[],r=[];let o=0;for(const e of t)n[o]=i?i(e,o):o,r[o]=s(e,o),o++;return{values:r,keys:n}}render(t,e,s){return this.dt(t,e,s).values}update(t,[e,s,i]){var n;const r=Ut(t),{values:o,keys:l}=this.dt(e,s,i);if(!Array.isArray(r))return this.ut=l,o;const c=null!==(n=this.ut)&&void 0!==n?n:this.ut=[],h=[];let a,d,u=0,p=r.length-1,v=0,f=o.length-1;for(;u<=p&&v<=f;)if(null===r[u])u++;else if(null===r[p])p--;else if(c[u]===l[v])h[v]=St(r[u],o[v]),u++,v++;else if(c[p]===l[f])h[f]=St(r[p],o[f]),p--,f--;else if(c[u]===l[f])h[f]=St(r[u],o[f]),wt(t,h[f+1],r[u]),u++,f--;else if(c[p]===l[v])h[v]=St(r[p],o[v]),wt(t,r[u],r[p]),p--,v++;else if(void 0===a&&(a=re(l,v,f),d=re(c,u,p)),a.has(c[u]))if(a.has(c[p])){const e=d.get(l[v]),s=void 0!==e?r[e]:null;if(null===s){const e=wt(t,r[u]);St(e,o[v]),h[v]=e}else h[v]=St(s,o[v]),wt(t,r[u],s),r[e]=null;v++}else Ot(r[p]),p--;else Ot(r[u]),u++;for(;v<=f;){const e=wt(t,h[f+1]);St(e,o[v]),h[v++]=e}for(;u<=p;){const t=r[u++];null!==t&&Ot(t)}return this.ut=l,Pt(t,h),D}}),le=At(class extends gt{constructor(t){var e;if(super(t),t.type!==_t.ATTRIBUTE||"style"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,s)=>{const i=t[s];return null==i?e:e+`${s=s.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`}),"")}update(t,[e]){const{style:s}=t.element;if(void 0===this.ct){this.ct=new Set;for(const t in e)this.ct.add(t);return this.render(e)}this.ct.forEach((t=>{null==e[t]&&(this.ct.delete(t),t.includes("-")?s.removeProperty(t):s[t]="")}));for(const t in e){const i=e[t];null!=i&&(this.ct.add(t),t.includes("-")?s.setProperty(t,i):s[t]=i)}return D}}),ce=At(class extends gt{constructor(t){if(super(t),t.type!==_t.CHILD)throw Error("templateContent can only be used in child bindings")}render(t){return this.vt===t?D:(this.vt=t,document.importNode(t.content,!0))}});class he extends gt{constructor(t){if(super(t),this.it=B,t.type!==_t.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===B||null==t)return this.ft=void 0,this.it=t;if(t===D)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 e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}he.directiveName="unsafeHTML",he.resultType=1;const ae=At(he);class de extends he{}de.directiveName="unsafeSVG",de.resultType=2;const ue=At(de),pe=t=>!(t=>null===t||"object"!=typeof t&&"function"!=typeof t)(t)&&"function"==typeof t.then;class ve extends jt{constructor(){super(...arguments),this._$Cwt=1073741823,this._$Cyt=[],this._$CG=new Dt(this),this._$CK=new Bt}render(...t){var e;return null!==(e=t.find((t=>!pe(t))))&&void 0!==e?e:D}update(t,e){const s=this._$Cyt;let i=s.length;this._$Cyt=e;const n=this._$CG,r=this._$CK;this.isConnected||this.disconnected();for(let t=0;t<e.length&&!(t>this._$Cwt);t++){const o=e[t];if(!pe(o))return this._$Cwt=t,o;t<i&&o===s[t]||(this._$Cwt=1073741823,i=0,Promise.resolve(o).then((async t=>{for(;r.get();)await r.get();const e=n.deref();if(void 0!==e){const s=e._$Cyt.indexOf(o);s>-1&&s<e._$Cwt&&(e._$Cwt=s,e.setValue(t))}})))}return D}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const fe=At(ve);function $e(t,e,s){return t?e():null==s?void 0:s()}const ye=B,_e=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:s,elements:i}=e;return{kind:s,elements:i,finisher(e){window.customElements.define(t,e)}}})(t,e);class Ae extends ot{initialized(){}connected(){}disconnected(){}render(){return this.template}get template(){return ye}firstUpdated(t){super.firstUpdated(t),this.initialized()}connectedCallback(){super.connectedCallback(),this.connected()}disconnectedCallback(){super.disconnectedCallback(),this.disconnected()}}class ge{constructor(t){this.host=t,this.host.addController(this)}}const me=t=>(e,s)=>{Object.defineProperty(e,s,{get(){return this.renderRoot.querySelector(t)??void 0}})},be=t=>(e,s)=>{Object.defineProperty(e,s,{get(){return[...this.renderRoot.querySelectorAll(t)]}})},Ee=function(t){return dt({descriptor:e=>({get(){var e,s;return null!==(s=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==s?s:[]},enumerable:!0,configurable:!0})})},Ce=new Map([[Array,(t,e)=>[...e??[],...t]],[Set,(t,e)=>new Set([...e??[],...t])],[Map,(t,e)=>new Map([...e??[],...t])]]),we=(t,e)=>e?Object.assign(t,e):t;const Se=({constructorPropertyKey:t,prototype:e,initialValue:s,lifecycleHooks:i,inheritanceHandler:n})=>{const r=e,o=e.constructor,l=Object.getOwnPropertyDescriptor(o,t)?.value;if(l)return l;const c=n??function(t){const e="constructor"in t?t.constructor:void 0;return Ce.get(e)??we}(s),h=c(s,o[t]);Object.defineProperty(o,t,{value:h});for(const[t,e]of i??[]){const s=r[t];r[t]=function(...t){s.call(this,...t),e.call(this,h,...t)}}return h},Te=Symbol("updatedObservers"),Pe=t=>(e,s)=>{Se({prototype:e,constructorPropertyKey:Te,initialValue:new Map,lifecycleHooks:new Map([["updated",function(t,e){for(const[s,i]of e){const e=s,n=t?.get(e);void 0!==n&&n.call(this,this[e],i)}}]])}).set(s,t)},Ue=t=>(e,s)=>(t?.updated&&Pe(t.updated)(e,s),at(t)(e,s)),Oe=t=>(e,s)=>(t?.updated&&Pe(t.updated)(e,s),function(t){return at({...t,state:!0})}(t)(e,s));const xe=Symbol("eventListeners"),Me=(...t)=>(e,s,i)=>{const n=function(t){const e=(t=>"string"==typeof t[0])(t);return{type:e?t[0]:t[0].type,target:e?void 0:t[0].target,options:e?t[1]:t[0].options}}(t);Se({prototype:e,constructorPropertyKey:xe,initialValue:new Map}).set(`${n.type}.${s}`,{descriptor:i,propertyKey:s,...n})},ke=t=>{if("_$committedValue"in t){const e=t;return t._$committedValue.bind(e.element)}return"function"==typeof t?t:t.handleEvent},He=ot.prototype.connectedCallback;ot.prototype.connectedCallback=function(){He.call(this);const t=Re(this);for(const{type:e,target:s,options:i,descriptor:n,propertyKey:r}of t.values())De.call(this,r,n),Le.call(this,s)?.addEventListener(e,je.call(this,r),i)};const Ne=ot.prototype.disconnectedCallback;function Re(t){return t.constructor[xe]}function Le(t){return"function"==typeof t?t.call(this):t??this}function je(t){return Object.getOwnPropertyDescriptor(this,Be(t))?.value}function De(t,e){const s=e?"function"==typeof e.get?e.get:e.value:Object.getOwnPropertyDescriptor(this,t)?.value;if(!1===Ie(s))throw new TypeError(`${this.constructor}.${t} is not a function`);Object.defineProperty(this,Be(t),{value:s.bind(this),configurable:!0,enumerable:!1,writable:!1})}ot.prototype.disconnectedCallback=function(){Ne.call(this);const t=Re(this);for(const{type:e,target:s,options:i,propertyKey:n}of t.values())Le.call(this,s)?.removeEventListener(e,je.call(this,n),i)};const Be=t=>`$BOUND_${t}$`,Ie=t=>{const e="function"==typeof t,s="object"==typeof t&&null!==t&&"handleEvent"in t&&"function"==typeof t.handleEvent;return e||s};class Ve{constructor(){this.handlers=new Set}subscribe(t){this.handlers.add(t)}unsubscribe(t){this.handlers.delete(t)}dispatch(t){for(const e of this.handlers)e(t)}}class ze{constructor(t,e,s){this.element=t,this.type=e,this.options=s,this.handlersMap=new Map}dispatch(t){this.element.dispatchEvent(new CustomEvent(this.type,{detail:t,...this.options}))}subscribe(t){const e=e=>t(e.detail);this.element.addEventListener(this.type,e),this.handlersMap.set(t,e)}unsubscribe(t){const e=this.handlersMap.get(t);e&&this.element.removeEventListener(this.type,e),this.handlersMap.delete(t)}}function qe(t){return(e,s)=>{if(void 0===s)return;const i=`$${s}Event$`;Object.defineProperty(e,s,{get(){return this[i]||(this[i]=this instanceof HTMLElement?new ze(this,s,t):new Ve),this[i]}})}}self.Lit=e})();
@@ -1,7 +1,10 @@
1
1
  import { LitElement } from 'lit';
2
- export declare const decorateLitElement: <T>({ constructorPropertyName, prototype, initialValue, lifecycleHooks }: {
3
- constructorPropertyName: string;
2
+ declare type InheritanceHandler<T> = (own: T, inherited?: T) => T;
3
+ export declare const decorateLitElement: <T>({ constructorPropertyKey, prototype, initialValue, lifecycleHooks, inheritanceHandler }: {
4
+ constructorPropertyKey: symbol | string;
4
5
  prototype: LitElement;
5
6
  initialValue: T;
6
- lifecycleHooks: Map<string, (this: LitElement, data: T, ...args: Array<any>) => any>;
7
+ inheritanceHandler?: InheritanceHandler<T> | undefined;
8
+ lifecycleHooks?: Map<string, (this: LitElement, data: T, ...args: Array<any>) => any> | undefined;
7
9
  }) => T;
10
+ export {};
@@ -1,14 +1,25 @@
1
- export const decorateLitElement = ({ constructorPropertyName, prototype, initialValue, lifecycleHooks }) => {
1
+ const defaultInheritanceHandlersByType = new Map([
2
+ [Array, (own, inherited) => [...(inherited ?? []), ...own]],
3
+ [Set, (own, inherited) => new Set([...(inherited ?? []), ...own])],
4
+ [Map, (own, inherited) => new Map([...(inherited ?? []), ...own])],
5
+ ]);
6
+ const defaultInheritanceHandler = (own, inherited) => inherited ? Object.assign(own, inherited) : own;
7
+ function getDefaultInheritanceHandler(value) {
8
+ const type = 'constructor' in value ? value.constructor : undefined;
9
+ return (defaultInheritanceHandlersByType.get(type) ?? defaultInheritanceHandler);
10
+ }
11
+ export const decorateLitElement = ({ constructorPropertyKey, prototype, initialValue, lifecycleHooks, inheritanceHandler }) => {
2
12
  const p = prototype;
3
13
  const constructor = prototype.constructor;
4
- const existingValue = Object.getOwnPropertyDescriptor(constructor, constructorPropertyName)?.value;
14
+ const existingValue = Object.getOwnPropertyDescriptor(constructor, constructorPropertyKey)?.value;
5
15
  if (existingValue) {
6
16
  return existingValue;
7
17
  }
8
- const inheritedValue = constructor[constructorPropertyName];
9
- const value = inheritedValue ? Object.assign(initialValue, inheritedValue) : initialValue;
10
- Object.defineProperty(constructor, constructorPropertyName, { value });
11
- for (const [lifecycleName, lifecycleFunction] of lifecycleHooks) {
18
+ const inherit = inheritanceHandler ?? getDefaultInheritanceHandler(initialValue);
19
+ const inheritedValue = constructor[constructorPropertyKey];
20
+ const value = inherit(initialValue, inheritedValue);
21
+ Object.defineProperty(constructor, constructorPropertyKey, { value });
22
+ for (const [lifecycleName, lifecycleFunction] of lifecycleHooks ?? []) {
12
23
  const originalFunction = p[lifecycleName];
13
24
  p[lifecycleName] = function (...args) {
14
25
  originalFunction.call(this, ...args);
@@ -1,13 +1,22 @@
1
1
  import { LitElement } from 'lit';
2
- declare type ShorthandEventListenerDecoratorOptions = [type: string, options?: EventListenerOptions | boolean];
3
- declare type FullEventListenerDecoratorOptions = [
2
+ export declare type ShorthandEventListenerDecoratorOptions = [type: string, options?: EventListenerOptions | boolean];
3
+ export declare type FullEventListenerDecoratorOptions = [
4
4
  {
5
5
  type: string;
6
6
  target?: EventTarget | ((this: any) => EventTarget);
7
7
  options?: EventListenerOptions | boolean;
8
8
  }
9
9
  ];
10
- declare type EventListenerDecoratorOptions = ShorthandEventListenerDecoratorOptions | FullEventListenerDecoratorOptions;
10
+ export declare type EventListenerDecoratorOptions = ShorthandEventListenerDecoratorOptions | FullEventListenerDecoratorOptions;
11
+ declare function extractArguments(args: EventListenerDecoratorOptions): {
12
+ type: string;
13
+ target: EventTarget | ((this: any) => EventTarget) | undefined;
14
+ options: boolean | EventListenerOptions | undefined;
15
+ };
16
+ export declare const eventListenersSymbol: unique symbol;
17
+ export declare type EventListenerMetadata = ReturnType<typeof extractArguments> & {
18
+ descriptor?: PropertyDescriptor;
19
+ propertyKey: string;
20
+ };
11
21
  export declare const eventListener: (...eventListenerOptions: EventListenerDecoratorOptions) => (prototype: LitElement, propertyKey: string, descriptor?: PropertyDescriptor) => void;
12
- export declare const extractEventHandler: <TEvent extends Event = Event>(eventListener: EventListenerOrEventListenerObject) => (event: TEvent) => void;
13
22
  export {};
@@ -7,70 +7,14 @@ function extractArguments(args) {
7
7
  options: short ? args[1] : args[0].options,
8
8
  };
9
9
  }
10
- function extractEventTarget(target) {
11
- return typeof target === 'function' ? target.call(this) : target ?? this;
12
- }
10
+ export const eventListenersSymbol = Symbol('eventListeners');
13
11
  export const eventListener = (...eventListenerOptions) => {
14
12
  return (prototype, propertyKey, descriptor) => {
13
+ const extractedArguments = extractArguments(eventListenerOptions);
15
14
  decorateLitElement({
16
15
  prototype,
17
- constructorPropertyName: '$eventListeners$',
16
+ constructorPropertyKey: eventListenersSymbol,
18
17
  initialValue: new Map,
19
- lifecycleHooks: new Map([
20
- ['connectedCallback', function (eventListeners) {
21
- for (const [key, { type, target, options, descriptor, property }] of eventListeners) {
22
- if (this.constructor.name === extractConstructorNameFromUniquePropertyKey(key)) {
23
- defineBoundListener.call(this, property, descriptor);
24
- extractEventTarget.call(this, target)
25
- ?.addEventListener(type, getBoundListener.call(this, property), options);
26
- }
27
- }
28
- }],
29
- ['disconnectedCallback', function (eventListeners) {
30
- for (const { type, target, options, property } of eventListeners.values()) {
31
- extractEventTarget.call(this, target)
32
- ?.removeEventListener(type, getBoundListener.call(this, property), options);
33
- }
34
- }],
35
- ])
36
- }).set(getUniquePropertyKey(prototype.constructor, propertyKey), { descriptor, property: propertyKey, ...extractArguments(eventListenerOptions) });
18
+ }).set(`${extractedArguments.type}.${propertyKey}`, { descriptor, propertyKey, ...extractedArguments });
37
19
  };
38
20
  };
39
- const getUniquePropertyKey = (constructor, property) => `${constructor.name}.${property}`;
40
- const extractConstructorNameFromUniquePropertyKey = (uniquePropertyKey) => uniquePropertyKey.split('.')[0];
41
- function getBoundListener(propertyKey) {
42
- return Object.getOwnPropertyDescriptor(this, getBoundMethodKey(propertyKey))?.value;
43
- }
44
- function defineBoundListener(propertyKey, descriptor) {
45
- const unboundFunction = !descriptor
46
- ? Object.getOwnPropertyDescriptor(this, propertyKey)?.value
47
- : typeof descriptor.get === 'function'
48
- ? descriptor.get
49
- : descriptor.value;
50
- if (isEventListenerOrEventListenerObject(unboundFunction) === false) {
51
- throw new TypeError(`${getUniquePropertyKey(this.constructor, propertyKey)} is not a function`);
52
- }
53
- Object.defineProperty(this, getBoundMethodKey(propertyKey), {
54
- // eslint-disable-next-line no-restricted-syntax
55
- value: unboundFunction.bind(this),
56
- configurable: true,
57
- enumerable: false,
58
- writable: false,
59
- });
60
- }
61
- const getBoundMethodKey = (method) => `$BOUND_${method}$`;
62
- const isEventListenerOrEventListenerObject = (listener) => {
63
- const isListener = typeof listener === 'function';
64
- // @ts-expect-error 'in' operator seemingly does not narrow down the type
65
- const isListenerObject = typeof listener === 'object' && listener !== null && 'handleEvent' in listener && typeof listener.handleEvent === 'function';
66
- return isListener || isListenerObject;
67
- };
68
- export const extractEventHandler = (eventListener) => {
69
- if ('_$committedValue' in eventListener) {
70
- const eventPart = eventListener;
71
- const handler = eventListener['_$committedValue'];
72
- // eslint-disable-next-line no-restricted-syntax
73
- return handler.bind(eventPart.element);
74
- }
75
- return typeof eventListener === 'function' ? eventListener : eventListener.handleEvent;
76
- };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ import { LitElement } from 'lit';
2
+ import { eventListenersSymbol } from './eventListener';
3
+ const originalLitElementConnectedCallback = LitElement.prototype.connectedCallback;
4
+ LitElement.prototype.connectedCallback = function () {
5
+ originalLitElementConnectedCallback.call(this);
6
+ const eventListeners = getEventHandlers(this);
7
+ for (const { type, target, options, descriptor, propertyKey } of eventListeners.values()) {
8
+ defineBoundListener.call(this, propertyKey, descriptor);
9
+ extractEventTarget.call(this, target)
10
+ ?.addEventListener(type, getBoundListener.call(this, propertyKey), options);
11
+ }
12
+ };
13
+ const originalLitElementDisconnectedCallback = LitElement.prototype.disconnectedCallback;
14
+ LitElement.prototype.disconnectedCallback = function () {
15
+ originalLitElementDisconnectedCallback.call(this);
16
+ const eventListeners = getEventHandlers(this);
17
+ for (const { type, target, options, propertyKey } of eventListeners.values()) {
18
+ extractEventTarget.call(this, target)
19
+ ?.removeEventListener(type, getBoundListener.call(this, propertyKey), options);
20
+ }
21
+ };
22
+ function getEventHandlers(element) {
23
+ return element.constructor[eventListenersSymbol];
24
+ }
25
+ function extractEventTarget(target) {
26
+ return typeof target === 'function' ? target.call(this) : target ?? this;
27
+ }
28
+ function getBoundListener(propertyKey) {
29
+ return Object.getOwnPropertyDescriptor(this, getBoundMethodKey(propertyKey))?.value;
30
+ }
31
+ function defineBoundListener(propertyKey, descriptor) {
32
+ const unboundFunction = !descriptor
33
+ ? Object.getOwnPropertyDescriptor(this, propertyKey)?.value
34
+ : typeof descriptor.get === 'function'
35
+ ? descriptor.get
36
+ : descriptor.value;
37
+ if (isEventListenerOrEventListenerObject(unboundFunction) === false) {
38
+ throw new TypeError(`${this.constructor}.${propertyKey} is not a function`);
39
+ }
40
+ Object.defineProperty(this, getBoundMethodKey(propertyKey), {
41
+ // eslint-disable-next-line no-restricted-syntax
42
+ value: unboundFunction.bind(this),
43
+ configurable: true,
44
+ enumerable: false,
45
+ writable: false,
46
+ });
47
+ }
48
+ const getBoundMethodKey = (method) => `$BOUND_${method}$`;
49
+ const isEventListenerOrEventListenerObject = (listener) => {
50
+ const isListener = typeof listener === 'function';
51
+ // @ts-expect-error 'in' operator seemingly does not narrow down the type
52
+ const isListenerObject = typeof listener === 'object' && listener !== null && 'handleEvent' in listener && typeof listener.handleEvent === 'function';
53
+ return isListener || isListenerObject;
54
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,51 @@
1
+ import { LitElement } from 'lit';
2
+ import { eventListenersSymbol } from './eventListener';
3
+ const originalLitElementConnectedCallback = LitElement.prototype.connectedCallback;
4
+ LitElement.prototype.connectedCallback = function () {
5
+ originalLitElementConnectedCallback.call(this);
6
+ const eventListeners = this.constructor[eventListenersSymbol];
7
+ for (const { type, target, options, descriptor, property } of eventListeners.values()) {
8
+ defineBoundListener.call(this, property, descriptor);
9
+ extractEventTarget.call(this, target)
10
+ ?.addEventListener(type, getBoundListener.call(this, property), options);
11
+ }
12
+ };
13
+ const originalLitElementDisconnectedCallback = LitElement.prototype.disconnectedCallback;
14
+ LitElement.prototype.disconnectedCallback = function () {
15
+ originalLitElementDisconnectedCallback.call(this);
16
+ const eventListeners = this.constructor[eventListenersSymbol];
17
+ for (const { type, target, options, property } of eventListeners.values()) {
18
+ extractEventTarget.call(this, target)
19
+ ?.removeEventListener(type, getBoundListener.call(this, property), options);
20
+ }
21
+ };
22
+ function extractEventTarget(target) {
23
+ return typeof target === 'function' ? target.call(this) : target ?? this;
24
+ }
25
+ function getBoundListener(propertyKey) {
26
+ return Object.getOwnPropertyDescriptor(this, getBoundMethodKey(propertyKey))?.value;
27
+ }
28
+ function defineBoundListener(propertyKey, descriptor) {
29
+ const unboundFunction = !descriptor
30
+ ? Object.getOwnPropertyDescriptor(this, propertyKey)?.value
31
+ : typeof descriptor.get === 'function'
32
+ ? descriptor.get
33
+ : descriptor.value;
34
+ if (isEventListenerOrEventListenerObject(unboundFunction) === false) {
35
+ throw new TypeError(`${this.constructor}.${propertyKey} is not a function`);
36
+ }
37
+ Object.defineProperty(this, getBoundMethodKey(propertyKey), {
38
+ // eslint-disable-next-line no-restricted-syntax
39
+ value: unboundFunction.bind(this),
40
+ configurable: true,
41
+ enumerable: false,
42
+ writable: false,
43
+ });
44
+ }
45
+ const getBoundMethodKey = (method) => `$BOUND_${method}$`;
46
+ const isEventListenerOrEventListenerObject = (listener) => {
47
+ const isListener = typeof listener === 'function';
48
+ // @ts-expect-error 'in' operator seemingly does not narrow down the type
49
+ const isListenerObject = typeof listener === 'object' && listener !== null && 'handleEvent' in listener && typeof listener.handleEvent === 'function';
50
+ return isListener || isListenerObject;
51
+ };
@@ -0,0 +1 @@
1
+ export declare const extractEventHandler: <TEvent extends Event = Event>(eventListener: EventListenerOrEventListenerObject) => (event: TEvent) => void;
@@ -0,0 +1,9 @@
1
+ export const extractEventHandler = (eventListener) => {
2
+ if ('_$committedValue' in eventListener) {
3
+ const eventPart = eventListener;
4
+ const handler = eventListener['_$committedValue'];
5
+ // eslint-disable-next-line no-restricted-syntax
6
+ return handler.bind(eventPart.element);
7
+ }
8
+ return typeof eventListener === 'function' ? eventListener : eventListener.handleEvent;
9
+ };
@@ -1 +1,3 @@
1
1
  export * from './eventListener';
2
+ export * from './extractEventHandler';
3
+ import './eventListenerExtension';
@@ -1 +1,3 @@
1
1
  export * from './eventListener';
2
+ export * from './extractEventHandler';
3
+ import './eventListenerExtension';
@@ -1,3 +1,4 @@
1
1
  import { LitElement } from 'lit';
2
2
  export declare type UpdatedCallback<T> = (value: T, oldValue: T) => void;
3
+ export declare const updatedObserversSymbol: unique symbol;
3
4
  export declare const updated: <T>(callback: UpdatedCallback<T>) => (prototype: LitElement, propertyKey: PropertyKey) => void;
@@ -1,9 +1,10 @@
1
1
  import { decorateLitElement } from '../decorateLitElement';
2
+ export const updatedObserversSymbol = Symbol('updatedObservers');
2
3
  export const updated = (callback) => {
3
4
  return (prototype, propertyKey) => {
4
5
  decorateLitElement({
5
6
  prototype,
6
- constructorPropertyName: '$observers$',
7
+ constructorPropertyKey: updatedObserversSymbol,
7
8
  initialValue: new Map,
8
9
  lifecycleHooks: new Map([
9
10
  ['updated', function (observers, changedProperties) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a11d/lit",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "description": "A thin wrapper around the Lit library",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,23 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2017 Google LLC
4
- * SPDX-License-Identifier: BSD-3-Clause
5
- */
6
-
7
- /**
8
- * @license
9
- * Copyright 2019 Google LLC
10
- * SPDX-License-Identifier: BSD-3-Clause
11
- */
12
-
13
- /**
14
- * @license
15
- * Copyright 2020 Google LLC
16
- * SPDX-License-Identifier: BSD-3-Clause
17
- */
18
-
19
- /**
20
- * @license
21
- * Copyright 2021 Google LLC
22
- * SPDX-License-Identifier: BSD-3-Clause
23
- */