@e280/sly 0.3.0-3 → 0.3.0-4

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/README.md CHANGED
@@ -64,6 +64,11 @@ export const MyShadowView = shadow(() => html`<p>shrouded in darkness</p>`)
64
64
  ${MyCounter(123)}
65
65
  `)
66
66
  ```
67
+ - light views have no host element, rendered output looks like:
68
+ ```html
69
+ <h1>my cool counter demo</h1>
70
+ <button>123</button>
71
+ ```
67
72
  - **light views are naked,** they don't have a containing host element
68
73
 
69
74
  ### 🌚 shadow views
@@ -75,7 +80,7 @@ export const MyShadowView = shadow(() => html`<p>shrouded in darkness</p>`)
75
80
  import {shadow, useName, useCss, useSignal} from "@e280/sly"
76
81
 
77
82
  export const MyShadowCounter = shadow((start: number) => {
78
- useName("shadow-counter")
83
+ useName("counter")
79
84
  useCss(css`button { color: cyan }`)
80
85
 
81
86
  const $count = useSignal(start)
@@ -94,6 +99,11 @@ export const MyShadowView = shadow(() => html`<p>shrouded in darkness</p>`)
94
99
  ${MyShadowCounter(234)}
95
100
  `)
96
101
  ```
102
+ - shadow views have a host element, rendered output looks like:
103
+ ```html
104
+ <h1>my cool counter demo</h1>
105
+ <sly-shadow view="counter"></sly-shadow>
106
+ ```
97
107
  - **.with to nest children or set attrs**
98
108
  ```ts
99
109
  dom.render(dom(".demo"), html`
@@ -108,17 +118,19 @@ export const MyShadowView = shadow(() => html`<p>shrouded in darkness</p>`)
108
118
  })}
109
119
  `)
110
120
  ```
111
- - **you can do custom shadow config if needed**
121
+ - **you can do custom shadow config if needed** (default shown)
112
122
  ```ts
123
+ import {SlyShadow} from "@e280/sly"
124
+
113
125
  const customShadow = shadow.config(() => {
114
- const host = document.createElement("div")
126
+ SlyShadow.register()
127
+ const host = document.createElement("sly-shadow")
115
128
  const shadow = host.attachShadow({mode: "open"})
116
129
  return {host, shadow}
117
130
  })
118
131
 
119
132
  const MyShadowView = customShadow(() => html`<p>shrouded in darkness</p>`)
120
133
  ```
121
- - **shadow views are rendered inside** a `<sly-shadow>` host element by default
122
134
 
123
135
 
124
136
 
@@ -177,12 +189,10 @@ you must not call these hooks under if-conditionals, or for-loops, or inside cal
177
189
  // write the signal
178
190
  $count(2)
179
191
  ```
180
- - see [strata readme](https://github.com/e280/strata)
181
192
  - **useDerived,** create a [strata](https://github.com/e280/strata) derived signal
182
193
  ```ts
183
194
  const $product = useDerived(() => $count() * $whatever())
184
195
  ```
185
- - see [strata readme](https://github.com/e280/strata)
186
196
  - **useOnce,** run fn at initialization, and return a value
187
197
  ```ts
188
198
  const whatever = useOnce(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/sly",
3
- "version": "0.3.0-3",
3
+ "version": "0.3.0-4",
4
4
  "description": "web shadow views",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
 
2
+ import {dom} from "../../dom/dom.js"
3
+
2
4
  export class SlyShadow extends HTMLElement {
5
+ static register() {
6
+ dom.register({SlyShadow}, {soft: true})
7
+ }
8
+
3
9
  connectedCallback() {
4
10
  if (!this.hasAttribute("view"))
5
11
  this.setAttribute("view", "")
package/s/view/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
 
2
2
  export * from "./common/css-reset.js"
3
+ export * from "./common/sly-shadow.js"
3
4
 
4
5
  export * from "./hooks/use-css.js"
5
6
  export * from "./hooks/use-cx.js"
package/s/view/shadow.ts CHANGED
@@ -2,29 +2,29 @@
2
2
  import {microbounce} from "@e280/stz"
3
3
  import {render as litRender} from "lit"
4
4
 
5
- import {dom} from "../dom/dom.js"
6
5
  import {ShadowCx} from "./parts/cx.js"
7
- import {SlyShadow} from "./parts/sly-shadow.js"
8
6
  import {hooks} from "./hooks/plumbing/hooks.js"
7
+ import {SlyShadow} from "./common/sly-shadow.js"
9
8
  import {Reactivity} from "./parts/reactivity.js"
10
9
  import {applyAttrs} from "./parts/apply-attrs.js"
11
10
  import {Hookscope} from "./hooks/plumbing/hookscope.js"
12
11
  import {View, Placement, ShadowSetup, ShadowView} from "./types.js"
13
12
  import {AsyncDirective, directive, PartInfo} from "lit/async-directive.js"
14
13
 
14
+ export function shadowSetup(): ShadowSetup {
15
+ SlyShadow.register()
16
+ const host = document.createElement("sly-shadow")
17
+ const shadow = host.attachShadow({mode: "open"})
18
+ return {host, shadow}
19
+ }
20
+
15
21
  export function shadow<Props extends any[]>(view: View<Props>) {
16
- const setupFn = (): ShadowSetup => {
17
- dom.register({SlyShadow}, {soft: true})
18
- const host = document.createElement("sly-shadow")
19
- const shadow = host.attachShadow({mode: "open"})
20
- return {host, shadow}
21
- }
22
- return rawShadow(setupFn, view)
22
+ return rawShadow(shadowSetup, view)
23
23
  }
24
24
 
25
- shadow.config = (setupFn: () => ShadowSetup) => (
25
+ shadow.setup = (setup: () => ShadowSetup) => (
26
26
  <Props extends any[]>(view: View<Props>) => (
27
- rawShadow(setupFn, view)
27
+ rawShadow(setup, view)
28
28
  )
29
29
  )
30
30
 
@@ -1,6 +1,6 @@
1
- var Xe=Object.defineProperty;var Gt=(r,t)=>{for(var e in t)Xe(r,e,{get:t[e],enumerable:!0})};var $t=globalThis,wt=$t.ShadowRoot&&($t.ShadyCSS===void 0||$t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ft=Symbol(),he=new WeakMap,it=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==Ft)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(wt&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=he.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&he.set(e,t))}return t}toString(){return this.cssText}},le=r=>new it(typeof r=="string"?r:r+"",void 0,Ft),b=(r,...t)=>{let e=r.length===1?r[0]:t.reduce(((s,o,n)=>s+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+r[n+1]),r[0]);return new it(e,r,Ft)},At=(r,t)=>{if(wt)r.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(let e of t){let s=document.createElement("style"),o=$t.litNonce;o!==void 0&&s.setAttribute("nonce",o),s.textContent=e.cssText,r.appendChild(s)}},W=wt?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return le(e)})(r):r;var{is:tr,defineProperty:er,getOwnPropertyDescriptor:rr,getOwnPropertyNames:sr,getOwnPropertySymbols:or,getPrototypeOf:nr}=Object,_t=globalThis,fe=_t.trustedTypes,ir=fe?fe.emptyScript:"",ar=_t.reactiveElementPolyfillSupport,at=(r,t)=>r,Jt={toAttribute(r,t){switch(t){case Boolean:r=r?ir:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,t){let e=r;switch(t){case Boolean:e=r!==null;break;case Number:e=r===null?null:Number(r);break;case Object:case Array:try{e=JSON.parse(r)}catch{e=null}}return e}},de=(r,t)=>!tr(r,t),me={attribute:!0,type:String,converter:Jt,reflect:!1,useDefault:!1,hasChanged:de};Symbol.metadata??=Symbol("metadata"),_t.litPropertyMetadata??=new WeakMap;var k=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=me){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),o=this.getPropertyDescriptor(t,s,e);o!==void 0&&er(this.prototype,t,o)}}static getPropertyDescriptor(t,e,s){let{get:o,set:n}=rr(this.prototype,t)??{get(){return this[e]},set(i){this[e]=i}};return{get:o,set(i){let c=o?.call(this);n?.call(this,i),this.requestUpdate(t,c,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??me}static _$Ei(){if(this.hasOwnProperty(at("elementProperties")))return;let t=nr(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(at("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(at("properties"))){let e=this.properties,s=[...sr(e),...or(e)];for(let o of s)this.createProperty(o,e[o])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,o]of e)this.elementProperties.set(s,o)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let o=this._$Eu(e,s);o!==void 0&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let o of s)e.unshift(W(o))}else t!==void 0&&e.push(W(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return At(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){let s=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,s);if(o!==void 0&&s.reflect===!0){let n=(s.converter?.toAttribute!==void 0?s.converter:Jt).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(o):this.setAttribute(o,n),this._$Em=null}}_$AK(t,e){let s=this.constructor,o=s._$Eh.get(t);if(o!==void 0&&this._$Em!==o){let n=s.getPropertyOptions(o),i=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:Jt;this._$Em=o;let c=i.fromAttribute(e,n.type);this[o]=c??this._$Ej?.get(o)??c,this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){let o=this.constructor,n=this[t];if(s??=o.getPropertyOptions(t),!((s.hasChanged??de)(n,e)||s.useDefault&&s.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,s))))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:o,wrapped:n},i){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,i??e??this[t]),n!==!0||i!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),o===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[o,n]of s){let{wrapped:i}=n,c=this[o];i!==!0||this._$AL.has(o)||c===void 0||this.C(o,void 0,n,c)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((s=>s.hostUpdate?.())),this.update(e)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((e=>this._$ET(e,this[e]))),this._$EM()}updated(t){}firstUpdated(t){}};k.elementStyles=[],k.shadowRootOptions={mode:"open"},k[at("elementProperties")]=new Map,k[at("finalized")]=new Map,ar?.({ReactiveElement:k}),(_t.reactiveElementVersions??=[]).push("2.1.1");var Kt=globalThis,vt=Kt.trustedTypes,ge=vt?vt.createPolicy("lit-html",{createHTML:r=>r}):void 0,Qt="$lit$",P=`lit$${Math.random().toFixed(9).slice(2)}$`,Yt="?"+P,cr=`<${Yt}>`,U=document,ut=()=>U.createComment(""),pt=r=>r===null||typeof r!="object"&&typeof r!="function",Xt=Array.isArray,Ae=r=>Xt(r)||typeof r?.[Symbol.iterator]=="function",Zt=`[
2
- \f\r]`,ct=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ye=/-->/g,be=/>/g,L=RegExp(`>|${Zt}(?:([^\\s"'>=/]+)(${Zt}*=${Zt}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),xe=/'/g,$e=/"/g,_e=/^(?:script|style|textarea|title)$/i,te=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),A=te(1),fs=te(2),ms=te(3),H=Symbol.for("lit-noChange"),d=Symbol.for("lit-nothing"),we=new WeakMap,j=U.createTreeWalker(U,129);function ve(r,t){if(!Xt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return ge!==void 0?ge.createHTML(t):t}var Se=(r,t)=>{let e=r.length-1,s=[],o,n=t===2?"<svg>":t===3?"<math>":"",i=ct;for(let c=0;c<e;c++){let a=r[c],p,m,h=-1,$=0;for(;$<a.length&&(i.lastIndex=$,m=i.exec(a),m!==null);)$=i.lastIndex,i===ct?m[1]==="!--"?i=ye:m[1]!==void 0?i=be:m[2]!==void 0?(_e.test(m[2])&&(o=RegExp("</"+m[2],"g")),i=L):m[3]!==void 0&&(i=L):i===L?m[0]===">"?(i=o??ct,h=-1):m[1]===void 0?h=-2:(h=i.lastIndex-m[2].length,p=m[1],i=m[3]===void 0?L:m[3]==='"'?$e:xe):i===$e||i===xe?i=L:i===ye||i===be?i=ct:(i=L,o=void 0);let O=i===L&&r[c+1].startsWith("/>")?" ":"";n+=i===ct?a+cr:h>=0?(s.push(p),a.slice(0,h)+Qt+a.slice(h)+P+O):a+P+(h===-2?c:O)}return[ve(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]},ht=class r{constructor({strings:t,_$litType$:e},s){let o;this.parts=[];let n=0,i=0,c=t.length-1,a=this.parts,[p,m]=Se(t,e);if(this.el=r.createElement(p,s),j.currentNode=this.el.content,e===2||e===3){let h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(o=j.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let h of o.getAttributeNames())if(h.endsWith(Qt)){let $=m[i++],O=o.getAttribute(h).split(P),xt=/([.?@])?(.*)/.exec($);a.push({type:1,index:n,name:xt[2],strings:O,ctor:xt[1]==="."?Et:xt[1]==="?"?Ct:xt[1]==="@"?kt:z}),o.removeAttribute(h)}else h.startsWith(P)&&(a.push({type:6,index:n}),o.removeAttribute(h));if(_e.test(o.tagName)){let h=o.textContent.split(P),$=h.length-1;if($>0){o.textContent=vt?vt.emptyScript:"";for(let O=0;O<$;O++)o.append(h[O],ut()),j.nextNode(),a.push({type:2,index:++n});o.append(h[$],ut())}}}else if(o.nodeType===8)if(o.data===Yt)a.push({type:2,index:n});else{let h=-1;for(;(h=o.data.indexOf(P,h+1))!==-1;)a.push({type:7,index:n}),h+=P.length-1}n++}}static createElement(t,e){let s=U.createElement("template");return s.innerHTML=t,s}};function D(r,t,e=r,s){if(t===H)return t;let o=s!==void 0?e._$Co?.[s]:e._$Cl,n=pt(t)?void 0:t._$litDirective$;return o?.constructor!==n&&(o?._$AO?.(!1),n===void 0?o=void 0:(o=new n(r),o._$AT(r,e,s)),s!==void 0?(e._$Co??=[])[s]=o:e._$Cl=o),o!==void 0&&(t=D(r,o._$AS(r,t.values),o,s)),t}var St=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:s}=this._$AD,o=(t?.creationScope??U).importNode(e,!0);j.currentNode=o;let n=j.nextNode(),i=0,c=0,a=s[0];for(;a!==void 0;){if(i===a.index){let p;a.type===2?p=new V(n,n.nextSibling,this,t):a.type===1?p=new a.ctor(n,a.name,a.strings,this,t):a.type===6&&(p=new Pt(n,this,t)),this._$AV.push(p),a=s[++c]}i!==a?.index&&(n=j.nextNode(),i++)}return j.currentNode=U,o}p(t){let e=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}},V=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,o){this.type=2,this._$AH=d,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=D(this,t,e),pt(t)?t===d||t==null||t===""?(this._$AH!==d&&this._$AR(),this._$AH=d):t!==this._$AH&&t!==H&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Ae(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==d&&pt(this._$AH)?this._$AA.nextSibling.data=t:this.T(U.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:s}=t,o=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=ht.createElement(ve(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===o)this._$AH.p(e);else{let n=new St(o,this),i=n.u(this.options);n.p(e),this.T(i),this._$AH=n}}_$AC(t){let e=we.get(t.strings);return e===void 0&&we.set(t.strings,e=new ht(t)),e}k(t){Xt(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,s,o=0;for(let n of t)o===e.length?e.push(s=new r(this.O(ut()),this.O(ut()),this,this.options)):s=e[o],s._$AI(n),o++;o<e.length&&(this._$AR(s&&s._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let s=t.nextSibling;t.remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},z=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,o,n){this.type=1,this._$AH=d,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=n,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=d}_$AI(t,e=this,s,o){let n=this.strings,i=!1;if(n===void 0)t=D(this,t,e,0),i=!pt(t)||t!==this._$AH&&t!==H,i&&(this._$AH=t);else{let c=t,a,p;for(t=n[0],a=0;a<n.length-1;a++)p=D(this,c[s+a],e,a),p===H&&(p=this._$AH[a]),i||=!pt(p)||p!==this._$AH[a],p===d?t=d:t!==d&&(t+=(p??"")+n[a+1]),this._$AH[a]=p}i&&!o&&this.j(t)}j(t){t===d?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Et=class extends z{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===d?void 0:t}},Ct=class extends z{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==d)}},kt=class extends z{constructor(t,e,s,o,n){super(t,e,s,o,n),this.type=5}_$AI(t,e=this){if((t=D(this,t,e,0)??d)===H)return;let s=this._$AH,o=t===d&&s!==d||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==d&&(s===d||o);o&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Pt=class{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){D(this,t)}},Ee={M:Qt,P,A:Yt,C:1,L:Se,R:St,D:Ae,V:D,I:V,H:z,N:Ct,U:kt,B:Et,F:Pt},ur=Kt.litHtmlPolyfillSupport;ur?.(ht,V),(Kt.litHtmlVersions??=[]).push("3.3.1");var w=(r,t,e)=>{let s=e?.renderBefore??t,o=s._$litPart$;if(o===void 0){let n=e?.renderBefore??null;s._$litPart$=o=new V(t.insertBefore(ut(),n),n,void 0,e??{})}return o._$AI(r),o};var ee=globalThis,G=class extends k{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=w(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return H}};G._$litElement$=!0,G.finalized=!0,ee.litElementHydrateSupport?.({LitElement:G});var pr=ee.litElementPolyfillSupport;pr?.({LitElement:G});(ee.litElementVersions??=[]).push("4.2.1");var v={string:(r,t)=>r.getAttribute(t)??void 0,number:(r,t)=>{let e=r.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(r,t)=>r.getAttribute(t)!==null},g={string:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e),!0),number:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e.toString()),!0),boolean:(r,t,e)=>(e?r.setAttribute(t,""):r.removeAttribute(t),!0),any:(r,t,e)=>{e==null?r.removeAttribute(t):typeof e=="string"?r.setAttribute(t,e):typeof e=="number"?r.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?r.setAttribute(t,""):r.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)},entries:(r,t)=>{for(let[e,s]of t)g.any(r,e,s)},record:(r,t)=>g.entries(r,Object.entries(t))};function Ce(r,t={}){let e=document.createElement(r);return g.record(e,t),e}function ke(r){let t=document.createDocumentFragment();return w(r,t),t.firstElementChild}function Rt(r,t){let e=[];for(let[s,o]of Object.entries(t))if(typeof o=="function")r.addEventListener(s,o),e.push(()=>r.removeEventListener(s,o));else{let[n,i]=o;r.addEventListener(s,i,n),e.push(()=>r.removeEventListener(s,i))}return()=>e.forEach(s=>s())}function Pe(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var Re=(r,t)=>new Proxy(t,{get:(e,s)=>{switch(t[s]){case String:return v.string(r,s);case Number:return v.number(r,s);case Boolean:return v.boolean(r,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(e,s,o)=>{switch(t[s]){case String:return g.string(r,s,o);case Number:return g.number(r,s,o);case Boolean:return g.boolean(r,s,o);default:throw new Error(`invalid attribute type for "${s}"`)}}});var Ot=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>v.string(this.element,e),set:(t,e,s)=>g.string(this.element,e,s)});numbers=new Proxy({},{get:(t,e)=>v.number(this.element,e),set:(t,e,s)=>g.number(this.element,e,s)});booleans=new Proxy({},{get:(t,e)=>v.boolean(this.element,e),set:(t,e,s)=>g.boolean(this.element,e,s)})};function F(r){let t=new Ot(r);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>Pe(r,e),spec:e=>Re(r,e)}}F.get=v;F.set=g;function Oe(r){return new re(r)}var re=class{tagName;#t=new Map;#e=[];constructor(t){this.tagName=t}attr(t,e=!0){return this.#t.set(t,e),this}attrs(t){for(let[e,s]of Object.entries(t))this.attr(e,s);return this}children(...t){return this.#e.push(...t),this}done(){let t=document.createElement(this.tagName);return g.entries(t,this.#t),t.append(...this.#e),t}};function J(r,t=document){let e=t.querySelector(r);if(!e)throw new Error(`element not found (${r})`);return e}function Tt(r,t=document){return t.querySelector(r)}function Mt(r,t=document){return Array.from(t.querySelectorAll(r))}var Nt=class r{element;#t;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?J(t,this.element):t)}require(t){return J(t,this.element)}maybe(t){return Tt(t,this.element)}all(t){return Mt(t,this.element)}render(...t){return w(t,this.element)}get attrs(){return this.#t??=F(this.element)}events(t){return Rt(this.element,t)}};function Te(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function Me(r,t={}){let{soft:e=!1,upgrade:s=!0}=t;for(let[o,n]of Object.entries(r)){let i=Te(o),c=customElements.get(i);e&&c||(customElements.define(i,n),s&&document.querySelectorAll(i).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function y(r,t=document){return J(r,t)}y.in=(r,t=document)=>new Nt(t).in(r);y.require=J;y.maybe=Tt;y.all=Mt;y.el=Ce;y.elmer=Oe;y.mk=ke;y.events=Rt;y.attrs=F;y.register=Me;y.render=(r,...t)=>w(t,r);function q(){let r,t,e=new Promise((o,n)=>{r=o,t=n});function s(o){return o.then(r).catch(t),e}return{promise:e,resolve:r,reject:t,entangle:s}}function T(r){let t=null;return((...e)=>(t?t.params=e:(t={params:e,deferred:q()},queueMicrotask(()=>{let{params:s,deferred:o}=t;t=null,Promise.resolve(r(...s)).then(o.resolve).catch(o.reject)})),t.deferred.promise))}var R={};Gt(R,{clone:()=>lt,equal:()=>hr,freeze:()=>lr});function lt(r,t=new Set){if(t.has(r))throw new Error("cannot clone circular reference");let e;return typeof r=="function"||r!==null&&typeof r=="object"?(t.add(r),Array.isArray(r)?e=r.map(s=>lt(s,new Set(t))):r.constructor===Object?e=Object.fromEntries(Object.entries(r).map(([s,o])=>[s,lt(o,new Set(t))])):r instanceof Map?e=new Map(Array.from(r,([s,o])=>[s,lt(o,new Set(t))])):r instanceof Set?e=new Set(Array.from(r,s=>lt(s,new Set(t)))):r instanceof Date?e=new Date(r.getTime()):e=r,t.delete(r)):e=r,e}var ft=Object.freeze({happy:r=>r!=null,sad:r=>r==null,boolean:r=>typeof r=="boolean",number:r=>typeof r=="number",string:r=>typeof r=="string",bigint:r=>typeof r=="bigint",object:r=>typeof r=="object"&&r!==null,array:r=>Array.isArray(r),fn:r=>typeof r=="function",symbol:r=>typeof r=="symbol"});var hr=(r,t)=>{function e(s,o,n){if(!ft.object(s)||!ft.object(o))return s===o;if(n.includes(s))throw new Error("forbidden circularity detected in deep equal comparison");let i=[...n,s];if(s instanceof Map&&o instanceof Map){if(s.size!==o.size)return!1;for(let[c,a]of s)if(!o.has(c)||!e(a,o.get(c),i))return!1}else if(s instanceof Set&&o instanceof Set){if(s.size!==o.size)return!1;for(let c of s)if(!Array.from(o).some(a=>e(c,a,i)))return!1}else{let c=Object.keys(s),a=Object.keys(o);if(c.length!==a.length)return!1;for(let p of c)if(!a.includes(p)||!e(s[p],o[p],i))return!1}return!0}return e(r,t,[])};function lr(r){function t(e,s){if(!ft.object(e)||s.includes(e))return e;let o=[...s,e];if(e instanceof Map)for(let n of e.entries())for(let i of n)t(i,o);else if(e instanceof Set)for(let n of e)t(n,o);else if(Array.isArray(e))for(let n of e)t(n,o);else for(let n of Object.values(e))t(n,o);return Object.freeze(e)}return t(r,[])}var Lt=class r extends Map{static require(t,e){if(t.has(e))return t.get(e);throw new Error(`required key not found: "${e}"`)}static guarantee(t,e,s){if(t.has(e))return t.get(e);{let o=s();return t.set(e,o),o}}array(){return[...this]}require(t){return r.require(this,t)}guarantee(t,e){return r.guarantee(this,t,e)}};function Ne(r){let t,e=!1,s=()=>{e=!0,clearTimeout(t)},o=async()=>{e||(await r(s),!e&&(t=setTimeout(o,0)))};return o(),s}var Le=(r=0)=>new Promise(t=>setTimeout(t,r));function je(){let r=new Set;async function t(...a){await Promise.all([...r].map(p=>p(...a)))}function e(a){return r.add(a),()=>{r.delete(a)}}async function s(...a){return t(...a)}function o(a){return e(a)}async function n(a){let{promise:p,resolve:m}=q(),h=o(async(...$)=>{a&&await a(...$),m($),h()});return p}function i(){r.clear()}let c={pub:s,sub:o,publish:t,subscribe:e,on:e,next:n,clear:i};return Object.assign(o,c),Object.assign(s,c),c}function Z(r){let t=je();return r&&t.sub(r),t.sub}function se(r){let t=je();return r&&t.sub(r),t.pub}var oe=class{#t=[];#e=new WeakMap;#r=[];#s=new Set;notifyRead(t){this.#t.at(-1)?.add(t)}async notifyWrite(t){if(this.#s.has(t))throw new Error("circularity forbidden");let e=this.#o(t).pub();return this.#r.at(-1)?.add(e),e}observe(t){this.#t.push(new Set);let e=t();return{seen:this.#t.pop(),result:e}}subscribe(t,e){return this.#o(t)(async()=>{let s=new Set;this.#r.push(s),this.#s.add(t),s.add(e()),this.#s.delete(t),await Promise.all(s),this.#r.pop()})}#o(t){let e=this.#e.get(t);return e||(e=Z(),this.#e.set(t,e)),e}},l=globalThis[Symbol.for("e280.tracker")]??=new oe;var K=class{sneak;constructor(t){this.sneak=t}get(){return l.notifyRead(this),this.sneak}get value(){return this.get()}};var Q=class extends K{on=Z();dispose(){this.on.clear()}};function jt(r,t=r){let{seen:e,result:s}=l.observe(r),o=T(t),n=[],i=()=>n.forEach(c=>c());for(let c of e){let a=l.subscribe(c,o);n.push(a)}return{result:s,dispose:i}}function Y(r,t){return r===t}var Ut=class extends Q{#t;constructor(t,e){let s=e?.compare??Y,{result:o,dispose:n}=jt(t,async()=>{let i=t();!s(this.sneak,i)&&(this.sneak=i,await Promise.all([l.notifyWrite(this),this.on.pub(i)]))});super(o),this.#t=n}toString(){return`(derived "${String(this.get())}")`}dispose(){super.dispose(),this.#t()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Ht=class extends K{#t;#e;#r=!1;#s;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??Y}toString(){return`($lazy "${String(this.get())}")`}get(){if(!this.#s){let{result:t,dispose:e}=jt(this.#t,()=>this.#r=!0);this.#s=e,this.sneak=t}if(this.#r){this.#r=!1;let t=this.#t();!this.#e(this.sneak,t)&&(this.sneak=t,l.notifyWrite(this))}return super.get()}dispose(){this.#s&&this.#s()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Dt=class extends Q{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??Y}toString(){return`($signal "${String(this.get())}")`}async set(t,e=!1){let s=this.sneak;return this.sneak=t,(e||!this.#e(s,t))&&await this.publish(),t}get value(){return this.get()}set value(t){this.set(t)}async publish(){if(this.#t)throw new Error("forbid circularity");let t=this.sneak,e=Promise.resolve();try{this.#t=!0,e=Promise.all([l.notifyWrite(this),this.on.publish(t)])}finally{this.#t=!1}return await e,t}get core(){return this}fn(){let t=this;function e(s){return arguments.length===0?t.get():t.set(arguments[0])}return e.core=t,e.get=t.get.bind(t),e.set=t.set.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.publish=t.publish.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value,set:s=>t.value=s}),Object.defineProperty(e,"sneak",{get:()=>t.sneak,set:s=>t.sneak=s}),e}};function fr(r,t){return new Ht(r,t).fn()}function mr(r,t){return new Ut(r,t).fn()}function B(r,t){return new Dt(r,t).fn()}B.lazy=fr;B.derived=mr;var I={status:r=>r[0],value:r=>r[0]==="ready"?r[1]:void 0,error:r=>r[0]==="error"?r[1]:void 0,select:(r,t)=>{switch(r[0]){case"loading":return t.loading();case"error":return t.error(r[1]);case"ready":return t.ready(r[1]);default:throw new Error("unknown op status")}},morph:(r,t)=>I.select(r,{loading:()=>["loading"],error:e=>["error",e],ready:e=>["ready",t(e)]}),all:(...r)=>{let t=[],e=[],s=0;for(let o of r)switch(o[0]){case"loading":s++;break;case"ready":t.push(o[1]);break;case"error":e.push(o[1]);break}return e.length>0?["error",e]:s===0?["ready",t]:["loading"]}};var mt=class{static loading(){return new this}static ready(t){return new this(["ready",t])}static error(t){return new this(["error",t])}static promise(t){let e=new this;return e.promise(t),e}static load(t){return this.promise(t())}static all(...t){let e=t.map(s=>s.pod);return I.all(...e)}signal;#t=0;#e=se();#r=se();constructor(t=["loading"]){this.signal=B(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([s])=>t(s)),this.#r.next().then(([s])=>e(s))})}get then(){return this.wait.then.bind(this.wait)}get catch(){return this.wait.catch.bind(this.wait)}get finally(){return this.wait.finally.bind(this.wait)}async setLoading(){await this.signal.set(["loading"])}async setReady(t){await this.signal.set(["ready",t]),await this.#e(t)}async setError(t){await this.signal.set(["error",t]),await this.#r(t)}async promise(t){let e=++this.#t;await this.setLoading();try{let s=await t;return e===this.#t&&await this.setReady(s),s}catch(s){console.error(s),e===this.#t&&await this.setError(s)}}async load(t){return this.promise(t())}get pod(){return this.signal.get()}set pod(t){this.signal.set(t)}get status(){return this.signal.get()[0]}get value(){return I.value(this.signal.get())}get error(){return I.error(this.signal.get())}get isLoading(){return this.status==="loading"}get isReady(){return this.status==="ready"}get isError(){return this.status==="error"}require(){let t=this.signal.get();if(t[0]!=="ready")throw new Error("required value not ready");return t[1]}select(t){return I.select(this.signal.get(),t)}morph(t){return I.morph(this.pod,t)}};var dt=class{render;count=0;rendered=q();constructor(t){this.render=t}doneRender(){this.count++,this.rendered.resolve(),this.rendered=q()}},X=class extends dt{host;shadow;constructor(t,e,s){super(t),this.host=e,this.shadow=s}};var zt=class extends HTMLElement{connectedCallback(){this.hasAttribute("view")||this.setAttribute("view","")}};var ne=class{#t=[];get scope(){let t=this.#t.at(-1);if(!t)throw new Error("hooks must be called within a render fn");return t}increment(){let t=this.scope,e=t.position++;return{scope:t,position:e}}wrap(t,e){t.position=0,this.#t.push(t);try{return e()}finally{this.#t.pop()}}},S=globalThis[Symbol.for("e280.hooks")]??=new ne;function Ue(r){return R.freeze(R.clone(r))}var E=Symbol("optic");var qt=class{calculate;#t=!1;#e;constructor(t){this.calculate=t,this.#e=t()}get(){return this.#t&&(this.#t=!1,this.#e=this.calculate()),this.#e}invalidate(){this.#t=!0}};var Bt=class r{on=Z();[E];#t;#e;#r=T(()=>this.on.publish(this.state));constructor(t){this[E]=t,this.#t=R.clone(t.getState()),this.#e=new qt(()=>Ue(t.getState()))}async update(){let t=this[E].getState();!R.equal(t,this.#t)&&(this.#e.invalidate(),this.#t=R.clone(t),this.#r(),await l.notifyWrite(this))}get state(){return l.notifyRead(this),this.#e.get()}async mutate(t){return this[E].mutate(t)}lens(t){let e=new r({getState:()=>t(this[E].getState()),mutate:s=>this[E].mutate(o=>s(t(o))),registerLens:this[E].registerLens});return this[E].registerLens(e),e}};var tt=class{#t=[];clear(){this.#t.forEach(t=>t()),this.#t=[]}observe(t,e){let{seen:s,result:o}=l.observe(t);this.clear();for(let n of s){let i=l.subscribe(n,e);this.#t.push(i)}return o}};function He(r,t){for(let[e,s]of Object.entries(t))gr(r,e,s)}function gr(r,t,e){let s=r.getAttribute(t),o=yr(e);o!==s&&(o===null?r.removeAttribute(t):r.setAttribute(t,o))}function yr(r){return typeof r=="string"?r:typeof r=="number"?r.toString():r?"":null}function x(r){let{scope:t,position:e}=S.increment();return t.values.guarantee(e,r)}function ie(r){let{scope:t}=S.increment();return x(()=>t.mounts.mount(r))}var It=class{#t=[];#e=[];mount(t){this.#t.push(t),this.#e.push(t())}unmountAll(){for(let t of this.#e)t();this.#e=[]}remountAll(){for(let t of this.#t)this.#e.push(t())}};var et=class{cx;position=0;values=new Lt;mounts=new It;constructor(t){this.cx=t}};var{I:ea}=Ee;var De=r=>r.strings===void 0;var ze={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},gt=r=>(...t)=>({_$litDirective$:r,values:t}),Wt=class{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)}};var yt=(r,t)=>{let e=r._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),yt(s,t);return!0},Vt=r=>{let t,e;do{if((t=r._$AM)===void 0)break;e=t._$AN,e.delete(r),r=t}while(e?.size===0)},qe=r=>{for(let t;t=r._$AM;r=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(r))break;e.add(r),$r(t)}};function br(r){this._$AN!==void 0?(Vt(this),this._$AM=r,qe(this)):this._$AM=r}function xr(r,t=!1,e=0){let s=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(t)if(Array.isArray(s))for(let n=e;n<s.length;n++)yt(s[n],!1),Vt(s[n]);else s!=null&&(yt(s,!1),Vt(s));else yt(this,r)}var $r=r=>{r.type==ze.CHILD&&(r._$AP??=xr,r._$AQ??=br)},rt=class extends Wt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),qe(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(yt(this,t),Vt(this))}setValue(t){if(De(this._$Ct))this._$Ct._$AI(t,this);else{let e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}};function _(r){return Be(()=>{y.register({SlyShadow:zt},{soft:!0});let e=document.createElement("sly-shadow"),s=e.attachShadow({mode:"open"});return{host:e,shadow:s}},r)}_.config=r=>(t=>Be(r,t));function Be(r,t){let e=gt(class extends rt{#t;#e;#r;#s=new tt;constructor(o){super(o);let{host:n,shadow:i}=r(),c=T(()=>{if(!this.#r)throw new Error("cannot render before props");if(!this.isConnected)return;let a=this.#o(this.#r);w(a,this.#t.shadow),this.#t.doneRender()});this.#t=new X(c,n,i),this.#e=new et(this.#t)}#o(o){return this.#r=o,this.#s.observe(()=>S.wrap(this.#e,()=>t(...this.#r)),this.#t.render)}render({props:o,children:n,attrs:i}){let{host:c}=this.#t;return this.isConnected&&(i&&He(c,i),w(n,this.#t.host),w(this.#o(o),this.#t.shadow),this.#t.doneRender()),c}disconnected(){this.#e.mounts.unmountAll(),this.#s.clear()}reconnected(){this.#e.mounts.remountAll(),this.#t.render()}});function s(...o){return e({props:o})}return s.with=e,s}var bt={};Gt(bt,{AsciiAnim:()=>Je,ErrorDisplay:()=>pe,anims:()=>ue,make:()=>os,makeAsciiAnim:()=>u,mock:()=>ns});var ue={};Gt(ue,{arrow:()=>Cr,bar:()=>kr,bar2:()=>Pr,bar3:()=>Rr,bar4:()=>Or,bin:()=>Gr,binary:()=>Fr,binary2:()=>Jr,block:()=>Tr,block2:()=>Mr,brackets:()=>Hr,brackets2:()=>Dr,braille:()=>Er,bright:()=>ts,clock:()=>Qr,cylon:()=>jr,dots:()=>zr,dots2:()=>qr,earth:()=>ce,fistbump:()=>Yr,kiss:()=>Kr,lock:()=>Xr,moon:()=>rs,pie:()=>Lr,pulseblue:()=>Zr,runner:()=>Nr,slider:()=>Ur,speaker:()=>es,spinner:()=>Sr,wave:()=>Br,wavepulse:()=>Wr,wavepulse2:()=>Vr,wavescrub:()=>Ir});var M=b`
1
+ var Xe=Object.defineProperty;var Gt=(r,t)=>{for(var e in t)Xe(r,e,{get:t[e],enumerable:!0})};var $t=globalThis,wt=$t.ShadowRoot&&($t.ShadyCSS===void 0||$t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Jt=Symbol(),he=new WeakMap,it=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==Jt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(wt&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=he.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&he.set(e,t))}return t}toString(){return this.cssText}},le=r=>new it(typeof r=="string"?r:r+"",void 0,Jt),b=(r,...t)=>{let e=r.length===1?r[0]:t.reduce(((s,o,n)=>s+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+r[n+1]),r[0]);return new it(e,r,Jt)},At=(r,t)=>{if(wt)r.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(let e of t){let s=document.createElement("style"),o=$t.litNonce;o!==void 0&&s.setAttribute("nonce",o),s.textContent=e.cssText,r.appendChild(s)}},W=wt?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return le(e)})(r):r;var{is:tr,defineProperty:er,getOwnPropertyDescriptor:rr,getOwnPropertyNames:sr,getOwnPropertySymbols:or,getPrototypeOf:nr}=Object,_t=globalThis,fe=_t.trustedTypes,ir=fe?fe.emptyScript:"",ar=_t.reactiveElementPolyfillSupport,at=(r,t)=>r,Zt={toAttribute(r,t){switch(t){case Boolean:r=r?ir:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,t){let e=r;switch(t){case Boolean:e=r!==null;break;case Number:e=r===null?null:Number(r);break;case Object:case Array:try{e=JSON.parse(r)}catch{e=null}}return e}},de=(r,t)=>!tr(r,t),me={attribute:!0,type:String,converter:Zt,reflect:!1,useDefault:!1,hasChanged:de};Symbol.metadata??=Symbol("metadata"),_t.litPropertyMetadata??=new WeakMap;var k=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=me){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),o=this.getPropertyDescriptor(t,s,e);o!==void 0&&er(this.prototype,t,o)}}static getPropertyDescriptor(t,e,s){let{get:o,set:n}=rr(this.prototype,t)??{get(){return this[e]},set(i){this[e]=i}};return{get:o,set(i){let c=o?.call(this);n?.call(this,i),this.requestUpdate(t,c,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??me}static _$Ei(){if(this.hasOwnProperty(at("elementProperties")))return;let t=nr(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(at("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(at("properties"))){let e=this.properties,s=[...sr(e),...or(e)];for(let o of s)this.createProperty(o,e[o])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,o]of e)this.elementProperties.set(s,o)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let o=this._$Eu(e,s);o!==void 0&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let o of s)e.unshift(W(o))}else t!==void 0&&e.push(W(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return At(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){let s=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,s);if(o!==void 0&&s.reflect===!0){let n=(s.converter?.toAttribute!==void 0?s.converter:Zt).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(o):this.setAttribute(o,n),this._$Em=null}}_$AK(t,e){let s=this.constructor,o=s._$Eh.get(t);if(o!==void 0&&this._$Em!==o){let n=s.getPropertyOptions(o),i=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:Zt;this._$Em=o;let c=i.fromAttribute(e,n.type);this[o]=c??this._$Ej?.get(o)??c,this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){let o=this.constructor,n=this[t];if(s??=o.getPropertyOptions(t),!((s.hasChanged??de)(n,e)||s.useDefault&&s.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,s))))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:o,wrapped:n},i){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,i??e??this[t]),n!==!0||i!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),o===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[o,n]of s){let{wrapped:i}=n,c=this[o];i!==!0||this._$AL.has(o)||c===void 0||this.C(o,void 0,n,c)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((s=>s.hostUpdate?.())),this.update(e)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((e=>this._$ET(e,this[e]))),this._$EM()}updated(t){}firstUpdated(t){}};k.elementStyles=[],k.shadowRootOptions={mode:"open"},k[at("elementProperties")]=new Map,k[at("finalized")]=new Map,ar?.({ReactiveElement:k}),(_t.reactiveElementVersions??=[]).push("2.1.1");var Kt=globalThis,vt=Kt.trustedTypes,ge=vt?vt.createPolicy("lit-html",{createHTML:r=>r}):void 0,Qt="$lit$",P=`lit$${Math.random().toFixed(9).slice(2)}$`,Yt="?"+P,cr=`<${Yt}>`,U=document,ut=()=>U.createComment(""),pt=r=>r===null||typeof r!="object"&&typeof r!="function",Xt=Array.isArray,Ae=r=>Xt(r)||typeof r?.[Symbol.iterator]=="function",Ft=`[
2
+ \f\r]`,ct=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ye=/-->/g,be=/>/g,L=RegExp(`>|${Ft}(?:([^\\s"'>=/]+)(${Ft}*=${Ft}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),xe=/'/g,$e=/"/g,_e=/^(?:script|style|textarea|title)$/i,te=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),A=te(1),ms=te(2),ds=te(3),H=Symbol.for("lit-noChange"),d=Symbol.for("lit-nothing"),we=new WeakMap,j=U.createTreeWalker(U,129);function ve(r,t){if(!Xt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return ge!==void 0?ge.createHTML(t):t}var Se=(r,t)=>{let e=r.length-1,s=[],o,n=t===2?"<svg>":t===3?"<math>":"",i=ct;for(let c=0;c<e;c++){let a=r[c],p,m,h=-1,$=0;for(;$<a.length&&(i.lastIndex=$,m=i.exec(a),m!==null);)$=i.lastIndex,i===ct?m[1]==="!--"?i=ye:m[1]!==void 0?i=be:m[2]!==void 0?(_e.test(m[2])&&(o=RegExp("</"+m[2],"g")),i=L):m[3]!==void 0&&(i=L):i===L?m[0]===">"?(i=o??ct,h=-1):m[1]===void 0?h=-2:(h=i.lastIndex-m[2].length,p=m[1],i=m[3]===void 0?L:m[3]==='"'?$e:xe):i===$e||i===xe?i=L:i===ye||i===be?i=ct:(i=L,o=void 0);let O=i===L&&r[c+1].startsWith("/>")?" ":"";n+=i===ct?a+cr:h>=0?(s.push(p),a.slice(0,h)+Qt+a.slice(h)+P+O):a+P+(h===-2?c:O)}return[ve(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]},ht=class r{constructor({strings:t,_$litType$:e},s){let o;this.parts=[];let n=0,i=0,c=t.length-1,a=this.parts,[p,m]=Se(t,e);if(this.el=r.createElement(p,s),j.currentNode=this.el.content,e===2||e===3){let h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(o=j.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let h of o.getAttributeNames())if(h.endsWith(Qt)){let $=m[i++],O=o.getAttribute(h).split(P),xt=/([.?@])?(.*)/.exec($);a.push({type:1,index:n,name:xt[2],strings:O,ctor:xt[1]==="."?Et:xt[1]==="?"?Ct:xt[1]==="@"?kt:z}),o.removeAttribute(h)}else h.startsWith(P)&&(a.push({type:6,index:n}),o.removeAttribute(h));if(_e.test(o.tagName)){let h=o.textContent.split(P),$=h.length-1;if($>0){o.textContent=vt?vt.emptyScript:"";for(let O=0;O<$;O++)o.append(h[O],ut()),j.nextNode(),a.push({type:2,index:++n});o.append(h[$],ut())}}}else if(o.nodeType===8)if(o.data===Yt)a.push({type:2,index:n});else{let h=-1;for(;(h=o.data.indexOf(P,h+1))!==-1;)a.push({type:7,index:n}),h+=P.length-1}n++}}static createElement(t,e){let s=U.createElement("template");return s.innerHTML=t,s}};function D(r,t,e=r,s){if(t===H)return t;let o=s!==void 0?e._$Co?.[s]:e._$Cl,n=pt(t)?void 0:t._$litDirective$;return o?.constructor!==n&&(o?._$AO?.(!1),n===void 0?o=void 0:(o=new n(r),o._$AT(r,e,s)),s!==void 0?(e._$Co??=[])[s]=o:e._$Cl=o),o!==void 0&&(t=D(r,o._$AS(r,t.values),o,s)),t}var St=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:s}=this._$AD,o=(t?.creationScope??U).importNode(e,!0);j.currentNode=o;let n=j.nextNode(),i=0,c=0,a=s[0];for(;a!==void 0;){if(i===a.index){let p;a.type===2?p=new V(n,n.nextSibling,this,t):a.type===1?p=new a.ctor(n,a.name,a.strings,this,t):a.type===6&&(p=new Pt(n,this,t)),this._$AV.push(p),a=s[++c]}i!==a?.index&&(n=j.nextNode(),i++)}return j.currentNode=U,o}p(t){let e=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}},V=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,o){this.type=2,this._$AH=d,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=D(this,t,e),pt(t)?t===d||t==null||t===""?(this._$AH!==d&&this._$AR(),this._$AH=d):t!==this._$AH&&t!==H&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Ae(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==d&&pt(this._$AH)?this._$AA.nextSibling.data=t:this.T(U.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:s}=t,o=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=ht.createElement(ve(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===o)this._$AH.p(e);else{let n=new St(o,this),i=n.u(this.options);n.p(e),this.T(i),this._$AH=n}}_$AC(t){let e=we.get(t.strings);return e===void 0&&we.set(t.strings,e=new ht(t)),e}k(t){Xt(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,s,o=0;for(let n of t)o===e.length?e.push(s=new r(this.O(ut()),this.O(ut()),this,this.options)):s=e[o],s._$AI(n),o++;o<e.length&&(this._$AR(s&&s._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let s=t.nextSibling;t.remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},z=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,o,n){this.type=1,this._$AH=d,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=n,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=d}_$AI(t,e=this,s,o){let n=this.strings,i=!1;if(n===void 0)t=D(this,t,e,0),i=!pt(t)||t!==this._$AH&&t!==H,i&&(this._$AH=t);else{let c=t,a,p;for(t=n[0],a=0;a<n.length-1;a++)p=D(this,c[s+a],e,a),p===H&&(p=this._$AH[a]),i||=!pt(p)||p!==this._$AH[a],p===d?t=d:t!==d&&(t+=(p??"")+n[a+1]),this._$AH[a]=p}i&&!o&&this.j(t)}j(t){t===d?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Et=class extends z{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===d?void 0:t}},Ct=class extends z{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==d)}},kt=class extends z{constructor(t,e,s,o,n){super(t,e,s,o,n),this.type=5}_$AI(t,e=this){if((t=D(this,t,e,0)??d)===H)return;let s=this._$AH,o=t===d&&s!==d||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==d&&(s===d||o);o&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Pt=class{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){D(this,t)}},Ee={M:Qt,P,A:Yt,C:1,L:Se,R:St,D:Ae,V:D,I:V,H:z,N:Ct,U:kt,B:Et,F:Pt},ur=Kt.litHtmlPolyfillSupport;ur?.(ht,V),(Kt.litHtmlVersions??=[]).push("3.3.1");var w=(r,t,e)=>{let s=e?.renderBefore??t,o=s._$litPart$;if(o===void 0){let n=e?.renderBefore??null;s._$litPart$=o=new V(t.insertBefore(ut(),n),n,void 0,e??{})}return o._$AI(r),o};var ee=globalThis,G=class extends k{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=w(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return H}};G._$litElement$=!0,G.finalized=!0,ee.litElementHydrateSupport?.({LitElement:G});var pr=ee.litElementPolyfillSupport;pr?.({LitElement:G});(ee.litElementVersions??=[]).push("4.2.1");var v={string:(r,t)=>r.getAttribute(t)??void 0,number:(r,t)=>{let e=r.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(r,t)=>r.getAttribute(t)!==null},g={string:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e),!0),number:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e.toString()),!0),boolean:(r,t,e)=>(e?r.setAttribute(t,""):r.removeAttribute(t),!0),any:(r,t,e)=>{e==null?r.removeAttribute(t):typeof e=="string"?r.setAttribute(t,e):typeof e=="number"?r.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?r.setAttribute(t,""):r.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)},entries:(r,t)=>{for(let[e,s]of t)g.any(r,e,s)},record:(r,t)=>g.entries(r,Object.entries(t))};function Ce(r,t={}){let e=document.createElement(r);return g.record(e,t),e}function ke(r){let t=document.createDocumentFragment();return w(r,t),t.firstElementChild}function Rt(r,t){let e=[];for(let[s,o]of Object.entries(t))if(typeof o=="function")r.addEventListener(s,o),e.push(()=>r.removeEventListener(s,o));else{let[n,i]=o;r.addEventListener(s,i,n),e.push(()=>r.removeEventListener(s,i))}return()=>e.forEach(s=>s())}function Pe(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var Re=(r,t)=>new Proxy(t,{get:(e,s)=>{switch(t[s]){case String:return v.string(r,s);case Number:return v.number(r,s);case Boolean:return v.boolean(r,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(e,s,o)=>{switch(t[s]){case String:return g.string(r,s,o);case Number:return g.number(r,s,o);case Boolean:return g.boolean(r,s,o);default:throw new Error(`invalid attribute type for "${s}"`)}}});var Ot=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>v.string(this.element,e),set:(t,e,s)=>g.string(this.element,e,s)});numbers=new Proxy({},{get:(t,e)=>v.number(this.element,e),set:(t,e,s)=>g.number(this.element,e,s)});booleans=new Proxy({},{get:(t,e)=>v.boolean(this.element,e),set:(t,e,s)=>g.boolean(this.element,e,s)})};function J(r){let t=new Ot(r);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>Pe(r,e),spec:e=>Re(r,e)}}J.get=v;J.set=g;function Oe(r){return new re(r)}var re=class{tagName;#t=new Map;#e=[];constructor(t){this.tagName=t}attr(t,e=!0){return this.#t.set(t,e),this}attrs(t){for(let[e,s]of Object.entries(t))this.attr(e,s);return this}children(...t){return this.#e.push(...t),this}done(){let t=document.createElement(this.tagName);return g.entries(t,this.#t),t.append(...this.#e),t}};function Z(r,t=document){let e=t.querySelector(r);if(!e)throw new Error(`element not found (${r})`);return e}function Tt(r,t=document){return t.querySelector(r)}function Mt(r,t=document){return Array.from(t.querySelectorAll(r))}var Nt=class r{element;#t;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?Z(t,this.element):t)}require(t){return Z(t,this.element)}maybe(t){return Tt(t,this.element)}all(t){return Mt(t,this.element)}render(...t){return w(t,this.element)}get attrs(){return this.#t??=J(this.element)}events(t){return Rt(this.element,t)}};function Te(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function Me(r,t={}){let{soft:e=!1,upgrade:s=!0}=t;for(let[o,n]of Object.entries(r)){let i=Te(o),c=customElements.get(i);e&&c||(customElements.define(i,n),s&&document.querySelectorAll(i).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function y(r,t=document){return Z(r,t)}y.in=(r,t=document)=>new Nt(t).in(r);y.require=Z;y.maybe=Tt;y.all=Mt;y.el=Ce;y.elmer=Oe;y.mk=ke;y.events=Rt;y.attrs=J;y.register=Me;y.render=(r,...t)=>w(t,r);function q(){let r,t,e=new Promise((o,n)=>{r=o,t=n});function s(o){return o.then(r).catch(t),e}return{promise:e,resolve:r,reject:t,entangle:s}}function T(r){let t=null;return((...e)=>(t?t.params=e:(t={params:e,deferred:q()},queueMicrotask(()=>{let{params:s,deferred:o}=t;t=null,Promise.resolve(r(...s)).then(o.resolve).catch(o.reject)})),t.deferred.promise))}var R={};Gt(R,{clone:()=>lt,equal:()=>hr,freeze:()=>lr});function lt(r,t=new Set){if(t.has(r))throw new Error("cannot clone circular reference");let e;return typeof r=="function"||r!==null&&typeof r=="object"?(t.add(r),Array.isArray(r)?e=r.map(s=>lt(s,new Set(t))):r.constructor===Object?e=Object.fromEntries(Object.entries(r).map(([s,o])=>[s,lt(o,new Set(t))])):r instanceof Map?e=new Map(Array.from(r,([s,o])=>[s,lt(o,new Set(t))])):r instanceof Set?e=new Set(Array.from(r,s=>lt(s,new Set(t)))):r instanceof Date?e=new Date(r.getTime()):e=r,t.delete(r)):e=r,e}var ft=Object.freeze({happy:r=>r!=null,sad:r=>r==null,boolean:r=>typeof r=="boolean",number:r=>typeof r=="number",string:r=>typeof r=="string",bigint:r=>typeof r=="bigint",object:r=>typeof r=="object"&&r!==null,array:r=>Array.isArray(r),fn:r=>typeof r=="function",symbol:r=>typeof r=="symbol"});var hr=(r,t)=>{function e(s,o,n){if(!ft.object(s)||!ft.object(o))return s===o;if(n.includes(s))throw new Error("forbidden circularity detected in deep equal comparison");let i=[...n,s];if(s instanceof Map&&o instanceof Map){if(s.size!==o.size)return!1;for(let[c,a]of s)if(!o.has(c)||!e(a,o.get(c),i))return!1}else if(s instanceof Set&&o instanceof Set){if(s.size!==o.size)return!1;for(let c of s)if(!Array.from(o).some(a=>e(c,a,i)))return!1}else{let c=Object.keys(s),a=Object.keys(o);if(c.length!==a.length)return!1;for(let p of c)if(!a.includes(p)||!e(s[p],o[p],i))return!1}return!0}return e(r,t,[])};function lr(r){function t(e,s){if(!ft.object(e)||s.includes(e))return e;let o=[...s,e];if(e instanceof Map)for(let n of e.entries())for(let i of n)t(i,o);else if(e instanceof Set)for(let n of e)t(n,o);else if(Array.isArray(e))for(let n of e)t(n,o);else for(let n of Object.values(e))t(n,o);return Object.freeze(e)}return t(r,[])}var Lt=class r extends Map{static require(t,e){if(t.has(e))return t.get(e);throw new Error(`required key not found: "${e}"`)}static guarantee(t,e,s){if(t.has(e))return t.get(e);{let o=s();return t.set(e,o),o}}array(){return[...this]}require(t){return r.require(this,t)}guarantee(t,e){return r.guarantee(this,t,e)}};function Ne(r){let t,e=!1,s=()=>{e=!0,clearTimeout(t)},o=async()=>{e||(await r(s),!e&&(t=setTimeout(o,0)))};return o(),s}var Le=(r=0)=>new Promise(t=>setTimeout(t,r));function je(){let r=new Set;async function t(...a){await Promise.all([...r].map(p=>p(...a)))}function e(a){return r.add(a),()=>{r.delete(a)}}async function s(...a){return t(...a)}function o(a){return e(a)}async function n(a){let{promise:p,resolve:m}=q(),h=o(async(...$)=>{a&&await a(...$),m($),h()});return p}function i(){r.clear()}let c={pub:s,sub:o,publish:t,subscribe:e,on:e,next:n,clear:i};return Object.assign(o,c),Object.assign(s,c),c}function F(r){let t=je();return r&&t.sub(r),t.sub}function se(r){let t=je();return r&&t.sub(r),t.pub}var oe=class{#t=[];#e=new WeakMap;#r=[];#s=new Set;notifyRead(t){this.#t.at(-1)?.add(t)}async notifyWrite(t){if(this.#s.has(t))throw new Error("circularity forbidden");let e=this.#o(t).pub();return this.#r.at(-1)?.add(e),e}observe(t){this.#t.push(new Set);let e=t();return{seen:this.#t.pop(),result:e}}subscribe(t,e){return this.#o(t)(async()=>{let s=new Set;this.#r.push(s),this.#s.add(t),s.add(e()),this.#s.delete(t),await Promise.all(s),this.#r.pop()})}#o(t){let e=this.#e.get(t);return e||(e=F(),this.#e.set(t,e)),e}},l=globalThis[Symbol.for("e280.tracker")]??=new oe;var K=class{sneak;constructor(t){this.sneak=t}get(){return l.notifyRead(this),this.sneak}get value(){return this.get()}};var Q=class extends K{on=F();dispose(){this.on.clear()}};function jt(r,t=r){let{seen:e,result:s}=l.observe(r),o=T(t),n=[],i=()=>n.forEach(c=>c());for(let c of e){let a=l.subscribe(c,o);n.push(a)}return{result:s,dispose:i}}function Y(r,t){return r===t}var Ut=class extends Q{#t;constructor(t,e){let s=e?.compare??Y,{result:o,dispose:n}=jt(t,async()=>{let i=t();!s(this.sneak,i)&&(this.sneak=i,await Promise.all([l.notifyWrite(this),this.on.pub(i)]))});super(o),this.#t=n}toString(){return`(derived "${String(this.get())}")`}dispose(){super.dispose(),this.#t()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Ht=class extends K{#t;#e;#r=!1;#s;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??Y}toString(){return`($lazy "${String(this.get())}")`}get(){if(!this.#s){let{result:t,dispose:e}=jt(this.#t,()=>this.#r=!0);this.#s=e,this.sneak=t}if(this.#r){this.#r=!1;let t=this.#t();!this.#e(this.sneak,t)&&(this.sneak=t,l.notifyWrite(this))}return super.get()}dispose(){this.#s&&this.#s()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Dt=class extends Q{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??Y}toString(){return`($signal "${String(this.get())}")`}async set(t,e=!1){let s=this.sneak;return this.sneak=t,(e||!this.#e(s,t))&&await this.publish(),t}get value(){return this.get()}set value(t){this.set(t)}async publish(){if(this.#t)throw new Error("forbid circularity");let t=this.sneak,e=Promise.resolve();try{this.#t=!0,e=Promise.all([l.notifyWrite(this),this.on.publish(t)])}finally{this.#t=!1}return await e,t}get core(){return this}fn(){let t=this;function e(s){return arguments.length===0?t.get():t.set(arguments[0])}return e.core=t,e.get=t.get.bind(t),e.set=t.set.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.publish=t.publish.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value,set:s=>t.value=s}),Object.defineProperty(e,"sneak",{get:()=>t.sneak,set:s=>t.sneak=s}),e}};function fr(r,t){return new Ht(r,t).fn()}function mr(r,t){return new Ut(r,t).fn()}function B(r,t){return new Dt(r,t).fn()}B.lazy=fr;B.derived=mr;var I={status:r=>r[0],value:r=>r[0]==="ready"?r[1]:void 0,error:r=>r[0]==="error"?r[1]:void 0,select:(r,t)=>{switch(r[0]){case"loading":return t.loading();case"error":return t.error(r[1]);case"ready":return t.ready(r[1]);default:throw new Error("unknown op status")}},morph:(r,t)=>I.select(r,{loading:()=>["loading"],error:e=>["error",e],ready:e=>["ready",t(e)]}),all:(...r)=>{let t=[],e=[],s=0;for(let o of r)switch(o[0]){case"loading":s++;break;case"ready":t.push(o[1]);break;case"error":e.push(o[1]);break}return e.length>0?["error",e]:s===0?["ready",t]:["loading"]}};var mt=class{static loading(){return new this}static ready(t){return new this(["ready",t])}static error(t){return new this(["error",t])}static promise(t){let e=new this;return e.promise(t),e}static load(t){return this.promise(t())}static all(...t){let e=t.map(s=>s.pod);return I.all(...e)}signal;#t=0;#e=se();#r=se();constructor(t=["loading"]){this.signal=B(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([s])=>t(s)),this.#r.next().then(([s])=>e(s))})}get then(){return this.wait.then.bind(this.wait)}get catch(){return this.wait.catch.bind(this.wait)}get finally(){return this.wait.finally.bind(this.wait)}async setLoading(){await this.signal.set(["loading"])}async setReady(t){await this.signal.set(["ready",t]),await this.#e(t)}async setError(t){await this.signal.set(["error",t]),await this.#r(t)}async promise(t){let e=++this.#t;await this.setLoading();try{let s=await t;return e===this.#t&&await this.setReady(s),s}catch(s){console.error(s),e===this.#t&&await this.setError(s)}}async load(t){return this.promise(t())}get pod(){return this.signal.get()}set pod(t){this.signal.set(t)}get status(){return this.signal.get()[0]}get value(){return I.value(this.signal.get())}get error(){return I.error(this.signal.get())}get isLoading(){return this.status==="loading"}get isReady(){return this.status==="ready"}get isError(){return this.status==="error"}require(){let t=this.signal.get();if(t[0]!=="ready")throw new Error("required value not ready");return t[1]}select(t){return I.select(this.signal.get(),t)}morph(t){return I.morph(this.pod,t)}};var dt=class{render;count=0;rendered=q();constructor(t){this.render=t}doneRender(){this.count++,this.rendered.resolve(),this.rendered=q()}},X=class extends dt{host;shadow;constructor(t,e,s){super(t),this.host=e,this.shadow=s}};var ne=class{#t=[];get scope(){let t=this.#t.at(-1);if(!t)throw new Error("hooks must be called within a render fn");return t}increment(){let t=this.scope,e=t.position++;return{scope:t,position:e}}wrap(t,e){t.position=0,this.#t.push(t);try{return e()}finally{this.#t.pop()}}},S=globalThis[Symbol.for("e280.hooks")]??=new ne;var zt=class r extends HTMLElement{static register(){y.register({SlyShadow:r},{soft:!0})}connectedCallback(){this.hasAttribute("view")||this.setAttribute("view","")}};function Ue(r){return R.freeze(R.clone(r))}var E=Symbol("optic");var qt=class{calculate;#t=!1;#e;constructor(t){this.calculate=t,this.#e=t()}get(){return this.#t&&(this.#t=!1,this.#e=this.calculate()),this.#e}invalidate(){this.#t=!0}};var Bt=class r{on=F();[E];#t;#e;#r=T(()=>this.on.publish(this.state));constructor(t){this[E]=t,this.#t=R.clone(t.getState()),this.#e=new qt(()=>Ue(t.getState()))}async update(){let t=this[E].getState();!R.equal(t,this.#t)&&(this.#e.invalidate(),this.#t=R.clone(t),this.#r(),await l.notifyWrite(this))}get state(){return l.notifyRead(this),this.#e.get()}async mutate(t){return this[E].mutate(t)}lens(t){let e=new r({getState:()=>t(this[E].getState()),mutate:s=>this[E].mutate(o=>s(t(o))),registerLens:this[E].registerLens});return this[E].registerLens(e),e}};var tt=class{#t=[];clear(){this.#t.forEach(t=>t()),this.#t=[]}observe(t,e){let{seen:s,result:o}=l.observe(t);this.clear();for(let n of s){let i=l.subscribe(n,e);this.#t.push(i)}return o}};function He(r,t){for(let[e,s]of Object.entries(t))gr(r,e,s)}function gr(r,t,e){let s=r.getAttribute(t),o=yr(e);o!==s&&(o===null?r.removeAttribute(t):r.setAttribute(t,o))}function yr(r){return typeof r=="string"?r:typeof r=="number"?r.toString():r?"":null}function x(r){let{scope:t,position:e}=S.increment();return t.values.guarantee(e,r)}function ie(r){let{scope:t}=S.increment();return x(()=>t.mounts.mount(r))}var It=class{#t=[];#e=[];mount(t){this.#t.push(t),this.#e.push(t())}unmountAll(){for(let t of this.#e)t();this.#e=[]}remountAll(){for(let t of this.#t)this.#e.push(t())}};var et=class{cx;position=0;values=new Lt;mounts=new It;constructor(t){this.cx=t}};var{I:sa}=Ee;var De=r=>r.strings===void 0;var ze={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},gt=r=>(...t)=>({_$litDirective$:r,values:t}),Wt=class{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)}};var yt=(r,t)=>{let e=r._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),yt(s,t);return!0},Vt=r=>{let t,e;do{if((t=r._$AM)===void 0)break;e=t._$AN,e.delete(r),r=t}while(e?.size===0)},qe=r=>{for(let t;t=r._$AM;r=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(r))break;e.add(r),$r(t)}};function br(r){this._$AN!==void 0?(Vt(this),this._$AM=r,qe(this)):this._$AM=r}function xr(r,t=!1,e=0){let s=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(t)if(Array.isArray(s))for(let n=e;n<s.length;n++)yt(s[n],!1),Vt(s[n]);else s!=null&&(yt(s,!1),Vt(s));else yt(this,r)}var $r=r=>{r.type==ze.CHILD&&(r._$AP??=xr,r._$AQ??=br)},rt=class extends Wt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),qe(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(yt(this,t),Vt(this))}setValue(t){if(De(this._$Ct))this._$Ct._$AI(t,this);else{let e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}};function wr(){zt.register();let r=document.createElement("sly-shadow"),t=r.attachShadow({mode:"open"});return{host:r,shadow:t}}function _(r){return Be(wr,r)}_.setup=r=>(t=>Be(r,t));function Be(r,t){let e=gt(class extends rt{#t;#e;#r;#s=new tt;constructor(o){super(o);let{host:n,shadow:i}=r(),c=T(()=>{if(!this.#r)throw new Error("cannot render before props");if(!this.isConnected)return;let a=this.#o(this.#r);w(a,this.#t.shadow),this.#t.doneRender()});this.#t=new X(c,n,i),this.#e=new et(this.#t)}#o(o){return this.#r=o,this.#s.observe(()=>S.wrap(this.#e,()=>t(...this.#r)),this.#t.render)}render({props:o,children:n,attrs:i}){let{host:c}=this.#t;return this.isConnected&&(i&&He(c,i),w(n,this.#t.host),w(this.#o(o),this.#t.shadow),this.#t.doneRender()),c}disconnected(){this.#e.mounts.unmountAll(),this.#s.clear()}reconnected(){this.#e.mounts.remountAll(),this.#t.render()}});function s(...o){return e({props:o})}return s.with=e,s}var bt={};Gt(bt,{AsciiAnim:()=>Ze,ErrorDisplay:()=>pe,anims:()=>ue,make:()=>ns,makeAsciiAnim:()=>u,mock:()=>is});var ue={};Gt(ue,{arrow:()=>kr,bar:()=>Pr,bar2:()=>Rr,bar3:()=>Or,bar4:()=>Tr,bin:()=>Jr,binary:()=>Zr,binary2:()=>Fr,block:()=>Mr,block2:()=>Nr,brackets:()=>Dr,brackets2:()=>zr,braille:()=>Cr,bright:()=>es,clock:()=>Yr,cylon:()=>Ur,dots:()=>qr,dots2:()=>Br,earth:()=>ce,fistbump:()=>Xr,kiss:()=>Qr,lock:()=>ts,moon:()=>ss,pie:()=>jr,pulseblue:()=>Kr,runner:()=>Lr,slider:()=>Hr,speaker:()=>rs,spinner:()=>Er,wave:()=>Ir,wavepulse:()=>Vr,wavepulse2:()=>Gr,wavescrub:()=>Wr});var M=b`
4
4
  * {
5
5
  margin: 0;
6
6
  padding: 0;
@@ -14,23 +14,23 @@ var Xe=Object.defineProperty;var Gt=(r,t)=>{for(var e in t)Xe(r,e,{get:t[e],enum
14
14
  ::-webkit-scrollbar-track { background: transparent; }
15
15
  ::-webkit-scrollbar-thumb { background: #888; border-radius: 1em; }
16
16
  ::-webkit-scrollbar-thumb:hover { background: #999; }
17
- `;function wr(){let{scope:r}=S.increment();return r.cx}function Ie(){let r=wr();if(!(r instanceof X))throw new Error("this hook only works on shadow views (but was called in a light view)");return r}function We(){return Ie().host}function Ve(){return Ie().shadow}function Ge(r,t){At(r,Ar(t))}function Ar(r){let t=[];if(Array.isArray(r)){let e=new Set(r.flat(1/0).reverse());for(let s of e)t.unshift(W(s))}else r!==void 0&&t.push(W(r));return t}function ae(...r){let t=Ve();x(()=>Ge(t,r))}var N=ae;function C(r=""){let t=We();x(()=>t.setAttribute("view",r))}function st(r){return x(()=>B(r))}function Fe(r){return gt(class extends rt{#t;#e=new dt(T(()=>{if(!this.#t)throw new Error("cannot render before props");if(this.isConnected){let e=this.render(...this.#t);this.setValue(e),this.#e.doneRender()}}));#r=new et(this.#e);#s=new tt;update(e,s){let o=super.update(e,s);return this.isConnected&&this.#e.doneRender(),o}render(...e){return this.#t=e,this.#s.observe(()=>S.wrap(this.#r,()=>r(...this.#t)),this.#e.render)}disconnected(){this.#r.mounts.unmountAll(),this.#s.clear()}reconnected(){this.#r.mounts.remountAll(),this.#e.render()}})}function u(r,t){return()=>Je({hz:r,frames:t})}var Je=_(({hz:r,frames:t})=>{C("loading"),N(M,vr);let e=st(0);return ie(()=>Ne(async()=>{await Le(1e3/r);let s=e.get()+1;e.set(s>=t.length?0:s)})),t.at(e.get())}),vr=b`
17
+ `;function Ar(){let{scope:r}=S.increment();return r.cx}function Ie(){let r=Ar();if(!(r instanceof X))throw new Error("this hook only works on shadow views (but was called in a light view)");return r}function We(){return Ie().host}function Ve(){return Ie().shadow}function Ge(r,t){At(r,_r(t))}function _r(r){let t=[];if(Array.isArray(r)){let e=new Set(r.flat(1/0).reverse());for(let s of e)t.unshift(W(s))}else r!==void 0&&t.push(W(r));return t}function ae(...r){let t=Ve();x(()=>Ge(t,r))}var N=ae;function C(r=""){let t=We();x(()=>t.setAttribute("view",r))}function st(r){return x(()=>B(r))}function Je(r){return gt(class extends rt{#t;#e=new dt(T(()=>{if(!this.#t)throw new Error("cannot render before props");if(this.isConnected){let e=this.render(...this.#t);this.setValue(e),this.#e.doneRender()}}));#r=new et(this.#e);#s=new tt;update(e,s){let o=super.update(e,s);return this.isConnected&&this.#e.doneRender(),o}render(...e){return this.#t=e,this.#s.observe(()=>S.wrap(this.#r,()=>r(...this.#t)),this.#e.render)}disconnected(){this.#r.mounts.unmountAll(),this.#s.clear()}reconnected(){this.#r.mounts.remountAll(),this.#e.render()}})}function u(r,t){return()=>Ze({hz:r,frames:t})}var Ze=_(({hz:r,frames:t})=>{C("loading"),N(M,Sr);let e=st(0);return ie(()=>Ne(async()=>{await Le(1e3/r);let s=e.get()+1;e.set(s>=t.length?0:s)})),t.at(e.get())}),Sr=b`
18
18
  :host {
19
19
  font-family: monospace;
20
20
  white-space: pre;
21
21
  user-select: none;
22
22
  }
23
- `;var f=20,ot=10,nt=4,Sr=u(f,["|","/","-","\\"]),Er=u(f,["\u2808","\u2810","\u2820","\u2880","\u2840","\u2804","\u2802","\u2801"]),Cr=u(f,["\u2B06\uFE0F","\u2197\uFE0F","\u27A1\uFE0F","\u2198\uFE0F","\u2B07\uFE0F","\u2199\uFE0F","\u2B05\uFE0F","\u2196\uFE0F"]),kr=u(f,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),Pr=u(f,["\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),Rr=u(f,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1"]),Or=u(f,["\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0"]),Tr=u(f,["\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588"]),Mr=u(f,["\u2588\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2581\u2581\u2581"]),Nr=u(nt,["\u{1F6B6}","\u{1F3C3}"]),Lr=u(ot,["\u25F7","\u25F6","\u25F5","\u25F4"]),jr=u(f,["=----","-=---","--=--","---=-","----=","----=","---=-","--=--","-=---","=----"]),Ur=u(f,["o----","-o---","--o--","---o-","----o","----o","---o-","--o--","-o---","o----"]),Hr=u(ot,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]"]),Dr=u(ot,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]","[ ]","[ ]","[ =]","[ ==]","[===]","[== ]","[= ]"]),zr=u(ot,[" "," ",". ",".. ","..."," .."," ."]),qr=u(f,[". ",". ",".. ","..."," .."," ."," ."," ..","...",".. "]),Br=u(f,[".....",".....",":....","::...",":::..","::::.",":::::",":::::",".::::","..:::","...::","....:"]),Ir=u(f,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),Wr=u(f,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:"]),Vr=u(f,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:",".....",".....",":...:","::.::",":::::",":::::",".:::.",".:::.","..:.."]),Gr=u(f,["000","100","110","111","011","001"]),Fr=u(f,["11111","01111","00111","10011","11001","01100","00110","10011","11001","11100","11110"]),Jr=u(f,["11111","01111","10111","11011","11101","11110","11111","11110","11101","11011","10111","01111"]),Zr=u(nt,["\u{1F539}","\u{1F535}"]),Kr=u(ot,["\u{1F642}","\u{1F642}","\u{1F617}","\u{1F619}","\u{1F618}","\u{1F618}","\u{1F619}"]),Qr=u(f,["\u{1F550}","\u{1F551}","\u{1F552}","\u{1F553}","\u{1F554}","\u{1F555}","\u{1F556}","\u{1F557}","\u{1F558}","\u{1F559}","\u{1F55A}","\u{1F55B}"]),Yr=u(f,["\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}"," \u{1F91C} \u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F4A5}\u{1F91B} ","\u{1F91C} \u{1F4A5} \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}"]),ce=u(nt,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),Xr=u(nt,["\u{1F513}","\u{1F512}"]),ts=u(nt,["\u{1F505}","\u{1F506}"]),es=u(nt,["\u{1F508}","\u{1F508}","\u{1F509}","\u{1F50A}","\u{1F50A}","\u{1F509}"]),rs=u(ot,["\u{1F311}","\u{1F311}","\u{1F311}","\u{1F318}","\u{1F317}","\u{1F316}","\u{1F315}","\u{1F314}","\u{1F313}","\u{1F312}"]);var pe=_(r=>(C("error"),N(M,ss),typeof r=="string"?r:r instanceof Error?A`<strong>${r.name}:</strong> <span>${r.message}</span>`:"error")),ss=b`
23
+ `;var f=20,ot=10,nt=4,Er=u(f,["|","/","-","\\"]),Cr=u(f,["\u2808","\u2810","\u2820","\u2880","\u2840","\u2804","\u2802","\u2801"]),kr=u(f,["\u2B06\uFE0F","\u2197\uFE0F","\u27A1\uFE0F","\u2198\uFE0F","\u2B07\uFE0F","\u2199\uFE0F","\u2B05\uFE0F","\u2196\uFE0F"]),Pr=u(f,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),Rr=u(f,["\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),Or=u(f,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1"]),Tr=u(f,["\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0"]),Mr=u(f,["\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588"]),Nr=u(f,["\u2588\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2581\u2581\u2581"]),Lr=u(nt,["\u{1F6B6}","\u{1F3C3}"]),jr=u(ot,["\u25F7","\u25F6","\u25F5","\u25F4"]),Ur=u(f,["=----","-=---","--=--","---=-","----=","----=","---=-","--=--","-=---","=----"]),Hr=u(f,["o----","-o---","--o--","---o-","----o","----o","---o-","--o--","-o---","o----"]),Dr=u(ot,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]"]),zr=u(ot,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]","[ ]","[ ]","[ =]","[ ==]","[===]","[== ]","[= ]"]),qr=u(ot,[" "," ",". ",".. ","..."," .."," ."]),Br=u(f,[". ",". ",".. ","..."," .."," ."," ."," ..","...",".. "]),Ir=u(f,[".....",".....",":....","::...",":::..","::::.",":::::",":::::",".::::","..:::","...::","....:"]),Wr=u(f,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),Vr=u(f,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:"]),Gr=u(f,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:",".....",".....",":...:","::.::",":::::",":::::",".:::.",".:::.","..:.."]),Jr=u(f,["000","100","110","111","011","001"]),Zr=u(f,["11111","01111","00111","10011","11001","01100","00110","10011","11001","11100","11110"]),Fr=u(f,["11111","01111","10111","11011","11101","11110","11111","11110","11101","11011","10111","01111"]),Kr=u(nt,["\u{1F539}","\u{1F535}"]),Qr=u(ot,["\u{1F642}","\u{1F642}","\u{1F617}","\u{1F619}","\u{1F618}","\u{1F618}","\u{1F619}"]),Yr=u(f,["\u{1F550}","\u{1F551}","\u{1F552}","\u{1F553}","\u{1F554}","\u{1F555}","\u{1F556}","\u{1F557}","\u{1F558}","\u{1F559}","\u{1F55A}","\u{1F55B}"]),Xr=u(f,["\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}"," \u{1F91C} \u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F4A5}\u{1F91B} ","\u{1F91C} \u{1F4A5} \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}"]),ce=u(nt,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),ts=u(nt,["\u{1F513}","\u{1F512}"]),es=u(nt,["\u{1F505}","\u{1F506}"]),rs=u(nt,["\u{1F508}","\u{1F508}","\u{1F509}","\u{1F50A}","\u{1F50A}","\u{1F509}"]),ss=u(ot,["\u{1F311}","\u{1F311}","\u{1F311}","\u{1F318}","\u{1F317}","\u{1F316}","\u{1F315}","\u{1F314}","\u{1F313}","\u{1F312}"]);var pe=_(r=>(C("error"),N(M,os),typeof r=="string"?r:r instanceof Error?A`<strong>${r.name}:</strong> <span>${r.message}</span>`:"error")),os=b`
24
24
  :host {
25
25
  font-family: monospace;
26
26
  color: red;
27
27
  }
28
- `;function os(r=ce,t=e=>pe(e)){return(e,s)=>e.select({loading:r,ready:s,error:t})}function ns(){return(r,t)=>r.select({ready:t,loading:()=>"[loading]",error:()=>"[error]"})}var Ze=_(()=>{C("loaders"),N(M,is);let r=x(()=>mt.loading());return x(()=>Object.entries(bt.anims).map(([e,s])=>({key:e,loader:bt.make(s)}))).map(({key:e,loader:s})=>A`
28
+ `;function ns(r=ce,t=e=>pe(e)){return(e,s)=>e.select({loading:r,ready:s,error:t})}function is(){return(r,t)=>r.select({ready:t,loading:()=>"[loading]",error:()=>"[error]"})}var Fe=_(()=>{C("loaders"),N(M,as);let r=x(()=>mt.loading());return x(()=>Object.entries(bt.anims).map(([e,s])=>({key:e,loader:bt.make(s)}))).map(({key:e,loader:s})=>A`
29
29
  <div data-anim="${e}">
30
30
  <span>${e}</span>
31
31
  <span>${s(r,()=>null)}</span>
32
32
  </div>
33
- `)}),is=b`
33
+ `)}),as=b`
34
34
  :host {
35
35
  display: flex;
36
36
  flex-direction: row;
@@ -71,19 +71,19 @@ div {
71
71
  min-height: 2.5em;
72
72
  }
73
73
  }
74
- `;var Ke=Fe(r=>{let t=st(r);return A`
74
+ `;var Ke=Je(r=>{let t=st(r);return A`
75
75
  <button @click="${()=>t.value++}">${t()}</button>
76
76
  `});var Qe=_(r=>{C("counter-shadow"),ae(b`:host{display:inline-block} button{color:cyan}`);let t=st(r);return A`
77
77
  <button @click="${()=>t.value++}">${t()}</button>
78
- `});var Ye=_(()=>(C("demo"),N(M,as),A`
78
+ `});var Ye=_(()=>(C("demo"),N(M,cs),A`
79
79
  <p>light ${Ke(123)}</p>
80
80
 
81
81
  <p>
82
82
  shadow ${Qe.with({props:[234],attrs:{"data-lol":555},children:A`<p>hello</p>`})}
83
83
  </p>
84
84
 
85
- ${Ze()}
86
- `)),as=b`
85
+ ${Fe()}
86
+ `)),cs=b`
87
87
  :host {
88
88
  display: flex;
89
89
  flex-direction: column;