@e280/sly 0.2.0-1 → 0.2.0-3

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
@@ -383,7 +383,7 @@ import {Pod, podium, Op, makeLoader, anims} from "@e280/sly"
383
383
  ```
384
384
  - 🔥 create an op that calls and tracks an async fn
385
385
  ```ts
386
- const op = Op.fn(async() => {
386
+ const op = Op.load(async() => {
387
387
  await nap(4000)
388
388
  return 123
389
389
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/sly",
3
- "version": "0.2.0-1",
3
+ "version": "0.2.0-3",
4
4
  "description": "web shadow views",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -16,7 +16,7 @@
16
16
  "lit": "^3.3.1"
17
17
  },
18
18
  "dependencies": {
19
- "@e280/strata": "^0.2.0-5",
19
+ "@e280/strata": "^0.2.0-6",
20
20
  "@e280/stz": "^0.2.0"
21
21
  },
22
22
  "devDependencies": {
package/s/index.ts CHANGED
@@ -1,16 +1,18 @@
1
1
 
2
2
  export * from "./dom/dashify.js"
3
+ export * from "./dom/dom.js"
3
4
  export * from "./dom/register.js"
4
5
  export * from "./dom/types.js"
5
6
 
6
7
  export * from "./ops/loaders/make-loader.js"
7
8
  export * from "./ops/loaders/parts/ascii-anim.js"
8
9
  export * from "./ops/loaders/parts/error-display.js"
9
-
10
10
  export * from "./ops/op.js"
11
11
  export * from "./ops/podium.js"
12
12
  export * from "./ops/types.js"
13
13
 
14
+ export * as loot from "./loot/index.js"
15
+
14
16
  export * from "./views/attributes.js"
15
17
  export * from "./views/css-reset.js"
16
18
  export * from "./views/types.js"
@@ -0,0 +1,76 @@
1
+
2
+ import {signal} from "@e280/strata"
3
+ import {dragIsOutsideCurrentTarget} from "./helpers.js"
4
+
5
+ /** system for dragging-and-dropping things around on a webpage */
6
+ export class DragDrop<Grabbed, Hovering> {
7
+ #$grabbed = signal<Grabbed | undefined>(undefined)
8
+ #$hovering = signal<Hovering | undefined>(undefined)
9
+
10
+ constructor(private params: {
11
+
12
+ /** accept a dropped item that was declared within this system */
13
+ acceptDrop: (event: DragEvent, grabbed: Grabbed, hovering: Hovering) => void
14
+
15
+ /** accept undeclared drops from outside this system */
16
+ fromOutside?: {
17
+ predicate: (event: DragEvent, hovering: Hovering) => boolean
18
+ acceptDrop: (event: DragEvent, hovering: Hovering) => void
19
+ }
20
+ }) {}
21
+
22
+ /** make event listeners to attach to your dragzone(s) */
23
+ readonly dragzone = {
24
+ draggable: () => "true",
25
+
26
+ dragstart: (grabbed: Grabbed) => (_: DragEvent) => {
27
+ this.#$grabbed.value = grabbed
28
+ },
29
+
30
+ dragend: () => (_: DragEvent) => {
31
+ this.#$grabbed.value = undefined
32
+ this.#$hovering.value = undefined
33
+ },
34
+ }
35
+
36
+ /** make event listeners to attach to your dropzones(s) */
37
+ readonly dropzone = {
38
+ dragenter: () => (_: DragEvent) => {},
39
+
40
+ dragleave: () => (event: DragEvent) => {
41
+ if (dragIsOutsideCurrentTarget(event))
42
+ this.#$hovering.value = undefined
43
+ },
44
+
45
+ dragover: (hovering: Hovering) => (event: DragEvent) => {
46
+ event.preventDefault()
47
+ const {fromOutside} = this.params
48
+
49
+ if (this.#$grabbed() || (fromOutside && fromOutside.predicate(event, hovering)))
50
+ this.#$hovering.value = hovering
51
+ },
52
+
53
+ drop: (hovering: Hovering) => (event: DragEvent) => {
54
+ event.preventDefault()
55
+ const {acceptDrop, fromOutside} = this.params
56
+
57
+ const grabbed = this.#$grabbed()
58
+ this.#$grabbed.value = undefined
59
+ this.#$hovering.value = undefined
60
+
61
+ if (grabbed)
62
+ acceptDrop(event, grabbed, hovering)
63
+ else if (fromOutside && fromOutside.predicate(event, hovering))
64
+ fromOutside.acceptDrop(event, hovering)
65
+ },
66
+ }
67
+
68
+ get grabbed() {
69
+ return this.#$grabbed()
70
+ }
71
+
72
+ get hovering() {
73
+ return this.#$hovering()
74
+ }
75
+ }
76
+
package/s/loot/drop.ts ADDED
@@ -0,0 +1,44 @@
1
+
2
+ import {signal} from "@e280/strata"
3
+ import {dragIsOutsideCurrentTarget} from "./helpers.js"
4
+
5
+ /** dropzone that accepts dropped stuff like files */
6
+ export class Drop {
7
+ #$indicator = signal(false)
8
+
9
+ constructor(private params: {
10
+
11
+ /** whether or not the dragged item is acceptable for a drop */
12
+ predicate: (event: DragEvent) => boolean
13
+
14
+ /** fn to handle the drop of an acceptable item */
15
+ acceptDrop: (event: DragEvent) => void
16
+ }) {}
17
+
18
+ get indicator() {
19
+ return this.#$indicator.value
20
+ }
21
+
22
+ resetIndicator = () => {
23
+ this.#$indicator.value = false
24
+ }
25
+
26
+ dragover = (event: DragEvent) => {
27
+ event.preventDefault()
28
+ if (this.params.predicate(event))
29
+ this.#$indicator.value = true
30
+ }
31
+
32
+ dragleave = (event: DragEvent) => {
33
+ if (dragIsOutsideCurrentTarget(event))
34
+ this.#$indicator.value = false
35
+ }
36
+
37
+ drop = (event: DragEvent) => {
38
+ event.preventDefault()
39
+ this.#$indicator.value = false
40
+ if (this.params.predicate(event))
41
+ this.params.acceptDrop(event)
42
+ }
43
+ }
44
+
@@ -0,0 +1,31 @@
1
+
2
+ export function dragHasFiles(event: DragEvent) {
3
+ return !!(
4
+ event.dataTransfer &&
5
+ event.dataTransfer.types.includes("Files")
6
+ )
7
+ }
8
+
9
+ export function droppedFiles(event: DragEvent) {
10
+ return event.dataTransfer
11
+ ? Array.from(event.dataTransfer.files)
12
+ : []
13
+ }
14
+
15
+ export function dragIsOutsideCurrentTarget(event: DragEvent) {
16
+ const isCursorOutsideViewport = !event.relatedTarget || (
17
+ event.clientX === 0 &&
18
+ event.clientY === 0
19
+ )
20
+
21
+ if (isCursorOutsideViewport)
22
+ return true
23
+
24
+ const rect = (event.currentTarget as any).getBoundingClientRect()
25
+ const withinX = event.clientX >= rect.left && event.clientX <= rect.right
26
+ const withinY = event.clientY >= rect.top && event.clientY <= rect.bottom
27
+ const cursorOutsideCurrentTarget = !(withinX && withinY)
28
+
29
+ return cursorOutsideCurrentTarget
30
+ }
31
+
@@ -0,0 +1,5 @@
1
+
2
+ export * from "./drag-drop.js"
3
+ export * from "./drop.js"
4
+ export * from "./helpers.js"
5
+
package/s/ops/op.ts CHANGED
@@ -16,7 +16,7 @@ export class Op<V> {
16
16
  return op
17
17
  }
18
18
 
19
- static fn<V>(fn: () => Promise<V>) {
19
+ static load<V>(fn: () => Promise<V>) {
20
20
  return this.promise(fn())
21
21
  }
22
22
 
@@ -74,7 +74,7 @@ export class Op<V> {
74
74
  }
75
75
  }
76
76
 
77
- async fn(fn: () => Promise<V>) {
77
+ async load(fn: () => Promise<V>) {
78
78
  return this.promise(fn())
79
79
  }
80
80
 
package/s/views/use.ts CHANGED
@@ -94,9 +94,9 @@ export class Use {
94
94
  op = (() => {
95
95
  const that = this
96
96
  function op<V>(f: () => Promise<V>) {
97
- return that.once(() => Op.fn(f))
97
+ return that.once(() => Op.load(f))
98
98
  }
99
- op.fn = op as (<V>(f: () => Promise<V>) => Op<V>)
99
+ op.load = op as (<V>(f: () => Promise<V>) => Op<V>)
100
100
  op.promise = <V>(p: Promise<V>) => this.once(() => Op.promise(p))
101
101
  return op
102
102
  })()
@@ -1,6 +1,6 @@
1
1
  var Oe=Object.defineProperty;var Te=(r,t)=>{for(var e in t)Oe(r,e,{get:t[e],enumerable:!0})};var rt=globalThis,st=rt.ShadowRoot&&(rt.ShadyCSS===void 0||rt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ot=Symbol(),Yt=new WeakMap,Z=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==Ot)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(st&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=Yt.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&Yt.set(e,t))}return t}toString(){return this.cssText}},Gt=r=>new Z(typeof r=="string"?r:r+"",void 0,Ot),g=(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 Z(e,r,Ot)},ot=(r,t)=>{if(st)r.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(let e of t){let s=document.createElement("style"),o=rt.litNonce;o!==void 0&&s.setAttribute("nonce",o),s.textContent=e.cssText,r.appendChild(s)}},N=st?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return Gt(e)})(r):r;var{is:je,defineProperty:Me,getOwnPropertyDescriptor:Ue,getOwnPropertyNames:He,getOwnPropertySymbols:Re,getPrototypeOf:Ne}=Object,nt=globalThis,Xt=nt.trustedTypes,ze=Xt?Xt.emptyScript:"",De=nt.reactiveElementPolyfillSupport,K=(r,t)=>r,Tt={toAttribute(r,t){switch(t){case Boolean:r=r?ze: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}},ee=(r,t)=>!je(r,t),te={attribute:!0,type:String,converter:Tt,reflect:!1,useDefault:!1,hasChanged:ee};Symbol.metadata??=Symbol("metadata"),nt.litPropertyMetadata??=new WeakMap;var A=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=te){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&&Me(this.prototype,t,o)}}static getPropertyDescriptor(t,e,s){let{get:o,set:n}=Ue(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)??te}static _$Ei(){if(this.hasOwnProperty(K("elementProperties")))return;let t=Ne(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(K("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(K("properties"))){let e=this.properties,s=[...He(e),...Re(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(N(o))}else t!==void 0&&e.push(N(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 ot(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:Tt).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:Tt;this._$Em=o,this[o]=i.fromAttribute(e,n.type)??this._$Ej?.get(o)??null,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??ee)(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){}};A.elementStyles=[],A.shadowRootOptions={mode:"open"},A[K("elementProperties")]=new Map,A[K("finalized")]=new Map,De?.({ReactiveElement:A}),(nt.reactiveElementVersions??=[]).push("2.1.0");var Mt=globalThis,it=Mt.trustedTypes,re=it?it.createPolicy("lit-html",{createHTML:r=>r}):void 0,Ut="$lit$",_=`lit$${Math.random().toFixed(9).slice(2)}$`,Ht="?"+_,Ie=`<${Ht}>`,O=document,J=()=>O.createComment(""),Y=r=>r===null||typeof r!="object"&&typeof r!="function",Rt=Array.isArray,ce=r=>Rt(r)||typeof r?.[Symbol.iterator]=="function",jt=`[
2
2
  \f\r]`,Q=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,se=/-->/g,oe=/>/g,k=RegExp(`>|${jt}(?:([^\\s"'>=/]+)(${jt}*=${jt}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),ne=/'/g,ie=/"/g,le=/^(?:script|style|textarea|title)$/i,Nt=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),C=Nt(1),Dr=Nt(2),Ir=Nt(3),T=Symbol.for("lit-noChange"),d=Symbol.for("lit-nothing"),ae=new WeakMap,P=O.createTreeWalker(O,129);function ue(r,t){if(!Rt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return re!==void 0?re.createHTML(t):t}var he=(r,t)=>{let e=r.length-1,s=[],o,n=t===2?"<svg>":t===3?"<math>":"",i=Q;for(let c=0;c<e;c++){let a=r[c],l,u,p=-1,m=0;for(;m<a.length&&(i.lastIndex=m,u=i.exec(a),u!==null);)m=i.lastIndex,i===Q?u[1]==="!--"?i=se:u[1]!==void 0?i=oe:u[2]!==void 0?(le.test(u[2])&&(o=RegExp("</"+u[2],"g")),i=k):u[3]!==void 0&&(i=k):i===k?u[0]===">"?(i=o??Q,p=-1):u[1]===void 0?p=-2:(p=i.lastIndex-u[2].length,l=u[1],i=u[3]===void 0?k:u[3]==='"'?ie:ne):i===ie||i===ne?i=k:i===se||i===oe?i=Q:(i=k,o=void 0);let b=i===k&&r[c+1].startsWith("/>")?" ":"";n+=i===Q?a+Ie:p>=0?(s.push(l),a.slice(0,p)+Ut+a.slice(p)+_+b):a+_+(p===-2?c:b)}return[ue(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]},G=class r{constructor({strings:t,_$litType$:e},s){let o;this.parts=[];let n=0,i=0,c=t.length-1,a=this.parts,[l,u]=he(t,e);if(this.el=r.createElement(l,s),P.currentNode=this.el.content,e===2||e===3){let p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(o=P.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let p of o.getAttributeNames())if(p.endsWith(Ut)){let m=u[i++],b=o.getAttribute(p).split(_),et=/([.?@])?(.*)/.exec(m);a.push({type:1,index:n,name:et[2],strings:b,ctor:et[1]==="."?ct:et[1]==="?"?lt:et[1]==="@"?ut:M}),o.removeAttribute(p)}else p.startsWith(_)&&(a.push({type:6,index:n}),o.removeAttribute(p));if(le.test(o.tagName)){let p=o.textContent.split(_),m=p.length-1;if(m>0){o.textContent=it?it.emptyScript:"";for(let b=0;b<m;b++)o.append(p[b],J()),P.nextNode(),a.push({type:2,index:++n});o.append(p[m],J())}}}else if(o.nodeType===8)if(o.data===Ht)a.push({type:2,index:n});else{let p=-1;for(;(p=o.data.indexOf(_,p+1))!==-1;)a.push({type:7,index:n}),p+=_.length-1}n++}}static createElement(t,e){let s=O.createElement("template");return s.innerHTML=t,s}};function j(r,t,e=r,s){if(t===T)return t;let o=s!==void 0?e._$Co?.[s]:e._$Cl,n=Y(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=j(r,o._$AS(r,t.values),o,s)),t}var at=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??O).importNode(e,!0);P.currentNode=o;let n=P.nextNode(),i=0,c=0,a=s[0];for(;a!==void 0;){if(i===a.index){let l;a.type===2?l=new z(n,n.nextSibling,this,t):a.type===1?l=new a.ctor(n,a.name,a.strings,this,t):a.type===6&&(l=new ht(n,this,t)),this._$AV.push(l),a=s[++c]}i!==a?.index&&(n=P.nextNode(),i++)}return P.currentNode=O,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++}},z=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=j(this,t,e),Y(t)?t===d||t==null||t===""?(this._$AH!==d&&this._$AR(),this._$AH=d):t!==this._$AH&&t!==T&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):ce(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&&Y(this._$AH)?this._$AA.nextSibling.data=t:this.T(O.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=G.createElement(ue(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===o)this._$AH.p(e);else{let n=new at(o,this),i=n.u(this.options);n.p(e),this.T(i),this._$AH=n}}_$AC(t){let e=ae.get(t.strings);return e===void 0&&ae.set(t.strings,e=new G(t)),e}k(t){Rt(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(J()),this.O(J()),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&&t!==this._$AB;){let s=t.nextSibling;t.remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},M=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=j(this,t,e,0),i=!Y(t)||t!==this._$AH&&t!==T,i&&(this._$AH=t);else{let c=t,a,l;for(t=n[0],a=0;a<n.length-1;a++)l=j(this,c[s+a],e,a),l===T&&(l=this._$AH[a]),i||=!Y(l)||l!==this._$AH[a],l===d?t=d:t!==d&&(t+=(l??"")+n[a+1]),this._$AH[a]=l}i&&!o&&this.j(t)}j(t){t===d?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},ct=class extends M{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===d?void 0:t}},lt=class extends M{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==d)}},ut=class extends M{constructor(t,e,s,o,n){super(t,e,s,o,n),this.type=5}_$AI(t,e=this){if((t=j(this,t,e,0)??d)===T)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)}},ht=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){j(this,t)}},pe={M:Ut,P:_,A:Ht,C:1,L:he,R:at,D:ce,V:j,I:z,H:M,N:lt,U:ut,B:ct,F:ht},Le=Mt.litHtmlPolyfillSupport;Le?.(G,z),(Mt.litHtmlVersions??=[]).push("3.3.0");var S=(r,t,e)=>{let s=e?.renderBefore??t,o=s._$litPart$;if(o===void 0){let n=e?.renderBefore??null;s._$litPart$=o=new z(t.insertBefore(J(),n),n,void 0,e??{})}return o._$AI(r),o};var zt=globalThis,D=class extends A{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=S(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return T}};D._$litElement$=!0,D.finalized=!0,zt.litElementHydrateSupport?.({LitElement:D});var qe=zt.litElementPolyfillSupport;qe?.({LitElement:D});(zt.litElementVersions??=[]).push("4.2.0");function fe(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function pt(r,t={}){let{soft:e=!1,upgrade:s=!0}=t;for(let[o,n]of Object.entries(r)){let i=fe(o),c=customElements.get(i);e&&c||(customElements.define(i,n),s&&document.querySelectorAll(i).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}var ft=class r{element;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?this.require(t):t)}require(t){let e=this.element.querySelector(t);if(!e)throw new Error(`$1 ${t} not found`);return e}maybe(t){return this.element.querySelector(t)}all(t){return Array.from(this.element.querySelectorAll(t))}render(...t){return S(t,this.element)}};function E(r){return new ft(document).require(r)}var B=new ft(document);E.register=pt;E.render=(r,...t)=>S(t,r);E.in=B.in.bind(B);E.require=B.require.bind(B);E.maybe=B.maybe.bind(B);E.all=B.all.bind(B);var x=Object.freeze({eq(r,t){if(r.length!==t.length)return!1;for(let e=0;e<=r.length;e++)if(r.at(e)!==t.at(e))return!1;return!0},random(r){return crypto.getRandomValues(new Uint8Array(r))}});var U=Object.freeze({fromBytes(r){return[...r].map(t=>t.toString(16).padStart(2,"0")).join("")},toBytes(r){if(r.length%2!==0)throw new Error("must have even number of hex characters");let t=new Uint8Array(r.length/2);for(let e=0;e<r.length;e+=2)t[e/2]=parseInt(r.slice(e,e+2),16);return t},random(r=32){return this.fromBytes(x.random(r))},string(r){return U.fromBytes(r)},bytes(r){return U.toBytes(r)}});var Dt=58,dt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",It=Object.freeze({fromBytes(r){let t=BigInt("0x"+U.fromBytes(r)),e="";for(;t>0;){let s=t%BigInt(Dt);t=t/BigInt(Dt),e=dt[Number(s)]+e}for(let s of r)if(s===0)e=dt[0]+e;else break;return e},toBytes(r){let t=BigInt(0);for(let i of r){let c=dt.indexOf(i);if(c===-1)throw new Error(`Invalid character '${i}' in base58 string`);t=t*BigInt(Dt)+BigInt(c)}let e=t.toString(16);e.length%2!==0&&(e="0"+e);let s=U.toBytes(e),o=0;for(let i of r)if(i===dt[0])o++;else break;let n=new Uint8Array(o+s.length);return n.set(s,o),n},random(r=32){return this.fromBytes(x.random(r))},string(r){return It.fromBytes(r)},bytes(r){return It.toBytes(r)}});var de=class{lexicon;static lexicons=Object.freeze({base2:{characters:"01"},hex:{characters:"0123456789abcdef"},base36:{characters:"0123456789abcdefghijklmnopqrstuvwxyz"},base58:{characters:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},base62:{characters:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},base64url:{negativePrefix:"~",characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},base64:{characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",padding:{character:"=",size:4}}});lookup;negativePrefix;constructor(t){this.lexicon=t,this.lookup=Object.fromEntries([...t.characters].map((e,s)=>[e,s])),this.negativePrefix=t.negativePrefix??"-"}toBytes(t){let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let c=0,a=0,l=[];for(let u of t){if(u===this.lexicon.padding?.character)continue;let p=this.lookup[u];if(p===void 0)throw new Error(`Invalid character: ${u}`);for(c=c<<e|p,a+=e;a>=8;)a-=8,l.push(c>>a&255)}return new Uint8Array(l)}let s=0n,o=BigInt(this.lexicon.characters.length),n=!1;t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length),n=!0);for(let c of t){let a=this.lookup[c];if(a===void 0)throw new Error(`Invalid character: ${c}`);s=s*o+BigInt(a)}let i=[];for(;s>0n;)i.unshift(Number(s%256n)),s=s/256n;return new Uint8Array(i)}fromBytes(t){let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let i=0,c=0,a="";for(let l of t)for(i=i<<8|l,c+=8;c>=e;){c-=e;let u=i>>c&(1<<e)-1;a+=this.lexicon.characters[u]}if(c>0){let l=i<<e-c&(1<<e)-1;a+=this.lexicon.characters[l]}if(this.lexicon.padding)for(;a.length%this.lexicon.padding.size!==0;)a+=this.lexicon.padding.character;return a}let s=0n;for(let i of t)s=(s<<8n)+BigInt(i);if(s===0n)return this.lexicon.characters[0];let o=BigInt(this.lexicon.characters.length),n="";for(;s>0n;)n=this.lexicon.characters[Number(s%o)]+n,s=s/o;return n}toInteger(t){if(!t)return 0;let e=0n,s=!1,o=BigInt(this.lexicon.characters.length);t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length),s=!0);for(let n of t){let i=this.lookup[n];if(i===void 0)throw new Error(`Invalid character: ${n}`);e=e*o+BigInt(i)}return Number(s?-e:e)}fromInteger(t){t=Math.floor(t);let e=t<0,s=BigInt(e?-t:t);if(s===0n)return this.lexicon.characters[0];let o=BigInt(this.lexicon.characters.length),n="";for(;s>0n;)n=this.lexicon.characters[Number(s%o)]+n,s=s/o;return e?`${this.negativePrefix}${n}`:n}random(t=32){return this.fromBytes(x.random(t))}};var Lt=Object.freeze({fromBytes(r){return typeof btoa=="function"?btoa(String.fromCharCode(...r)):Buffer.from(r).toString("base64")},toBytes(r){return typeof atob=="function"?Uint8Array.from(atob(r),t=>t.charCodeAt(0)):Uint8Array.from(Buffer.from(r,"base64"))},random(r=32){return this.fromBytes(x.random(r))},string(r){return Lt.fromBytes(r)},bytes(r){return Lt.toBytes(r)}});var me=Object.freeze({fromBytes(r){return new TextDecoder().decode(r)},toBytes(r){return new TextEncoder().encode(r)},string(r){return me.fromBytes(r)},bytes(r){return me.toBytes(r)}});function mt(r,t){let e,s,o=[];function n(){e=[],s&&clearTimeout(s),s=void 0,o=[]}return n(),((...i)=>{e=i,s&&clearTimeout(s);let c=new Promise((a,l)=>{o.push({resolve:a,reject:l})});return s=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(a=>{for(let{resolve:l}of o)l(a);n()}).catch(a=>{for(let{reject:l}of o)l(a);n()})},r),c})}var qt=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"});function X(){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}}var I=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)}};var ye=(r=0)=>new Promise(t=>setTimeout(t,r));function Ve(r){return{map:t=>ge(r,t),filter:t=>be(r,t)}}Ve.pipe=Object.freeze({map:r=>(t=>ge(t,r)),filter:r=>(t=>be(t,r))});var ge=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,s])=>[e,t(s,e)])),be=(r,t)=>Object.fromEntries(Object.entries(r).filter(([e,s])=>t(s,e)));function xe(){let r=new Set;async function t(...a){await Promise.all([...r].map(l=>l(...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:l,resolve:u}=X(),p=o(async(...m)=>{a&&await a(...m),u(m),p()});return l}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 yt(r){let t=xe();return r&&t.sub(r),t.sub}function Vt(r){let t=xe();return r&&t.sub(r),t.pub}function gt(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 $e={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},xt=r=>(...t)=>({_$litDirective$:r,values:t}),bt=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 Wt=class{#t=[];#e=new WeakMap;#s=[];#r=new Set;notifyRead(t){this.#t.at(-1)?.add(t)}async notifyWrite(t){if(this.#r.has(t))throw new Error("circularity forbidden");let e=this.#o(t).pub();return this.#s.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.#s.push(s),this.#r.add(t),s.add(e()),this.#r.delete(t),await Promise.all(s),this.#s.pop()})}#o(t){let e=this.#e.get(t);return e||(e=yt(),this.#e.set(t,e)),e}},y=globalThis[Symbol.for("e280.tracker")]??=new Wt;var{I:bn}=pe;var we=r=>r.strings===void 0;var tt=(r,t)=>{let e=r._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),tt(s,t);return!0},$t=r=>{let t,e;do{if((t=r._$AM)===void 0)break;e=t._$AN,e.delete(r),r=t}while(e?.size===0)},ve=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),Ze(t)}};function We(r){this._$AN!==void 0?($t(this),this._$AM=r,ve(this)):this._$AM=r}function Fe(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++)tt(s[n],!1),$t(s[n]);else s!=null&&(tt(s,!1),$t(s));else tt(this,r)}var Ze=r=>{r.type==$e.CHILD&&(r._$AP??=Fe,r._$AQ??=We)},wt=class extends bt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),ve(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(tt(this,t),$t(this))}setValue(t){if(we(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 Ae(r,t){for(let[e,s]of Object.entries(t))s===void 0||s===null?r.removeAttribute(e):typeof s=="string"?r.setAttribute(e,s):typeof s=="number"?r.setAttribute(e,s.toString()):typeof s=="boolean"?s===!0?r.setAttribute(e,""):r.removeAttribute(e):console.warn(`invalid attribute type ${e} is ${typeof s}`)}function vt(r,t){ot(r,Ke(t))}function Ke(r){let t=[];if(Array.isArray(r)){let e=new Set(r.flat(1/0).reverse());for(let s of e)t.unshift(N(s))}else r!==void 0&&t.push(N(r));return t}var L=class{sneak;constructor(t){this.sneak=t}get(){return y.notifyRead(this),this.sneak}get value(){return this.get()}};var q=class extends L{on=yt();dispose(){this.on.clear()}};function At(r,t=r){let{seen:e,result:s}=y.observe(r),o=mt(0,t),n=[],i=()=>n.forEach(c=>c());for(let c of e){let a=y.subscribe(c,o);n.push(a)}return{result:s,dispose:i}}function V(r,t){return r===t}var _t=class extends q{#t;constructor(t,e){let s=e?.compare??V,{result:o,dispose:n}=At(t,async()=>{let i=t();!s(this.sneak,i)&&(this.sneak=i,await Promise.all([y.notifyWrite(this),this.on.pub(i)]))});super(o),this.#t=n}dispose(){super.dispose(),this.#t()}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 St=class extends L{#t;#e;#s=!1;#r;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??V}get(){if(!this.#r){let{result:t,dispose:e}=At(this.#t,()=>this.#s=!0);this.#r=e,this.sneak=t}if(this.#s){this.#s=!1;let t=this.#t();!this.#e(this.sneak,t)&&(this.sneak=t,y.notifyWrite(this))}return super.get()}dispose(){this.#r&&this.#r()}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 Et=class extends q{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??V}async set(t){return!this.#e(this.sneak,t)&&await this.publish(t),t}get value(){return this.get()}set value(t){this.set(t)}async publish(t=this.sneak){if(this.#t)throw new Error("forbid circularity");let e=Promise.resolve();try{this.#t=!0,this.sneak=t,e=Promise.all([y.notifyWrite(this),this.on.publish(t)])}finally{this.#t=!1}return await e,t}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 Qe(r,t){return new St(r,t).fn()}function Je(r,t){return new _t(r,t).fn()}function $(r,t){return new Et(r,t).fn()}$.lazy=Qe;$.derive=Je;var H={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)=>H.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 R=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 fn(t){return this.promise(t())}static all(...t){let e=t.map(s=>s.pod);return H.all(...e)}signal;#t=0;#e=Vt();#s=Vt();constructor(t=["loading"]){this.signal=$(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([s])=>t(s)),this.#s.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.#s(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){e===this.#t&&await this.setError(s)}}async fn(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 H.value(this.signal.get())}get error(){return H.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 H.select(this.signal.get(),t)}morph(t){return H.morph(this.pod,t)}};var Ct=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 _e=(r,t)=>new Proxy(t,{get:(e,s)=>{let o=t[s],n=r.getAttribute(s);switch(o){case String:return n??void 0;case Number:return n!==null?Number(n):void 0;case Boolean:return n!==null;default:throw new Error(`invalid attribute type for "${s}"`)}},set:(e,s,o)=>{switch(t[s]){case String:return r.setAttribute(s,o),!0;case Number:return r.setAttribute(s,o.toString()),!0;case Boolean:return o?r.setAttribute(s,""):r.removeAttribute(s),!0;default:throw new Error(`invalid attribute type for "${s}"`)}}});function Se(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var Ft=Symbol(),Zt=Symbol(),Kt=Symbol(),Bt=class{element;shadow;renderNow;render;#t=0;#e=0;#s=new I;#r=X();#o=new Ct;[Ft](t){this.#t++,this.#e=0,this.#r=X();let e=t();return this.#r.resolve(),e}[Zt](){this.#o.unmountAll()}[Kt](){this.#o.remountAll()}constructor(t,e,s,o){this.element=t,this.shadow=e,this.renderNow=s,this.render=o}get renderCount(){return this.#t}get rendered(){return this.#r.promise}name(t){this.once(()=>this.element.setAttribute("view",t))}styles(...t){this.once(()=>vt(this.shadow,t))}css(...t){return this.styles(...t)}attrs(t){return this.mount(()=>Se(this.element,this.render)),this.once(()=>_e(this.element,t))}once(t){return this.#s.guarantee(this.#e++,t)}mount(t){return this.once(()=>this.#o.mount(t))}life(t){let e;return this.mount(()=>{let[s,o]=t();return e=s,o}),e}wake(t){return this.life(()=>[t(),()=>{}])}op=(()=>{let t=this;function e(s){return t.once(()=>R.fn(s))}return e.fn=e,e.promise=s=>this.once(()=>R.promise(s)),e})();signal=(()=>{let t=this;function e(s,o){return t.once(()=>$(s,o))}return e.derive=function(o,n){return t.once(()=>$.derive(o,n))},e.lazy=function(o,n){return t.once(()=>$.lazy(o,n))},e})();derive(t,e){return this.once(()=>$.derive(t,e))}lazy(t,e){return this.once(()=>$.lazy(t,e))}};var w=Ee({mode:"open"}),Qt=class extends HTMLElement{};pt({SlyView:Qt},{soft:!0,upgrade:!0});function Ee(r){function t(e){let s=c=>class extends wt{#t=c.getElement();#e=this.#t.attachShadow(r);#s=mt(0,()=>this.#i());#r=new I;#o;#n=new Bt(this.#t,this.#e,()=>this.#i(),this.#s);#a=(()=>{let l=e(this.#n);return this.#t.setAttribute("view",r.name??""),r.styles&&vt(this.#e,r.styles),l})();#i(){if(!this.#o||!this.isConnected)return;let{context:l,props:u}=this.#o;this.#n[Ft](()=>{Ae(this.#t,l.attrs);let{result:p,seen:m}=y.observe(()=>this.#a(...u));S(p,this.#e);for(let b of m)this.#r.guarantee(b,()=>y.subscribe(b,async()=>this.#s()));c.isComponent||S(l.children,this.#t)})}render(l,u){return this.#o={context:l,props:u},this.#i(),c.isComponent?null:this.#t}disconnected(){this.#n[Zt]();for(let l of this.#r.values())l();this.#r.clear()}reconnected(){this.#n[Kt]()}},o=xt(s({getElement:()=>document.createElement(r.tag??"sly-view"),isComponent:!1})),n=()=>({attrs:{},children:[]});function i(...c){return o(n(),c)}return i.props=(...c)=>{let a=n(),l={children(...u){return a={...a,children:[...a.children,...u]},l},attrs(u){return a={...a,attrs:{...a.attrs,...u}},l},attr(u,p){return a={...a,attrs:{...a.attrs,[u]:p}},l},render(){return o(a,c)}};return l},i.component=(...c)=>class extends HTMLElement{#t=xt(s({getElement:()=>this,isComponent:!0}));constructor(){super(),this.render(...c)}render(...a){this.isConnected&&S(this.#t(n(),a),this)}},i}return t.declare=t,t.settings=e=>Ee({...r,...e}),t.component=e=>t(s=>()=>e(s)).component(),t}var v=g`
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),ne=/'/g,ie=/"/g,le=/^(?:script|style|textarea|title)$/i,Nt=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),C=Nt(1),Dr=Nt(2),Ir=Nt(3),T=Symbol.for("lit-noChange"),d=Symbol.for("lit-nothing"),ae=new WeakMap,P=O.createTreeWalker(O,129);function ue(r,t){if(!Rt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return re!==void 0?re.createHTML(t):t}var he=(r,t)=>{let e=r.length-1,s=[],o,n=t===2?"<svg>":t===3?"<math>":"",i=Q;for(let c=0;c<e;c++){let a=r[c],l,u,p=-1,m=0;for(;m<a.length&&(i.lastIndex=m,u=i.exec(a),u!==null);)m=i.lastIndex,i===Q?u[1]==="!--"?i=se:u[1]!==void 0?i=oe:u[2]!==void 0?(le.test(u[2])&&(o=RegExp("</"+u[2],"g")),i=k):u[3]!==void 0&&(i=k):i===k?u[0]===">"?(i=o??Q,p=-1):u[1]===void 0?p=-2:(p=i.lastIndex-u[2].length,l=u[1],i=u[3]===void 0?k:u[3]==='"'?ie:ne):i===ie||i===ne?i=k:i===se||i===oe?i=Q:(i=k,o=void 0);let b=i===k&&r[c+1].startsWith("/>")?" ":"";n+=i===Q?a+Ie:p>=0?(s.push(l),a.slice(0,p)+Ut+a.slice(p)+_+b):a+_+(p===-2?c:b)}return[ue(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]},G=class r{constructor({strings:t,_$litType$:e},s){let o;this.parts=[];let n=0,i=0,c=t.length-1,a=this.parts,[l,u]=he(t,e);if(this.el=r.createElement(l,s),P.currentNode=this.el.content,e===2||e===3){let p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(o=P.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let p of o.getAttributeNames())if(p.endsWith(Ut)){let m=u[i++],b=o.getAttribute(p).split(_),et=/([.?@])?(.*)/.exec(m);a.push({type:1,index:n,name:et[2],strings:b,ctor:et[1]==="."?ct:et[1]==="?"?lt:et[1]==="@"?ut:M}),o.removeAttribute(p)}else p.startsWith(_)&&(a.push({type:6,index:n}),o.removeAttribute(p));if(le.test(o.tagName)){let p=o.textContent.split(_),m=p.length-1;if(m>0){o.textContent=it?it.emptyScript:"";for(let b=0;b<m;b++)o.append(p[b],J()),P.nextNode(),a.push({type:2,index:++n});o.append(p[m],J())}}}else if(o.nodeType===8)if(o.data===Ht)a.push({type:2,index:n});else{let p=-1;for(;(p=o.data.indexOf(_,p+1))!==-1;)a.push({type:7,index:n}),p+=_.length-1}n++}}static createElement(t,e){let s=O.createElement("template");return s.innerHTML=t,s}};function j(r,t,e=r,s){if(t===T)return t;let o=s!==void 0?e._$Co?.[s]:e._$Cl,n=Y(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=j(r,o._$AS(r,t.values),o,s)),t}var at=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??O).importNode(e,!0);P.currentNode=o;let n=P.nextNode(),i=0,c=0,a=s[0];for(;a!==void 0;){if(i===a.index){let l;a.type===2?l=new z(n,n.nextSibling,this,t):a.type===1?l=new a.ctor(n,a.name,a.strings,this,t):a.type===6&&(l=new ht(n,this,t)),this._$AV.push(l),a=s[++c]}i!==a?.index&&(n=P.nextNode(),i++)}return P.currentNode=O,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++}},z=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=j(this,t,e),Y(t)?t===d||t==null||t===""?(this._$AH!==d&&this._$AR(),this._$AH=d):t!==this._$AH&&t!==T&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):ce(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&&Y(this._$AH)?this._$AA.nextSibling.data=t:this.T(O.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=G.createElement(ue(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===o)this._$AH.p(e);else{let n=new at(o,this),i=n.u(this.options);n.p(e),this.T(i),this._$AH=n}}_$AC(t){let e=ae.get(t.strings);return e===void 0&&ae.set(t.strings,e=new G(t)),e}k(t){Rt(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(J()),this.O(J()),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&&t!==this._$AB;){let s=t.nextSibling;t.remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},M=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=j(this,t,e,0),i=!Y(t)||t!==this._$AH&&t!==T,i&&(this._$AH=t);else{let c=t,a,l;for(t=n[0],a=0;a<n.length-1;a++)l=j(this,c[s+a],e,a),l===T&&(l=this._$AH[a]),i||=!Y(l)||l!==this._$AH[a],l===d?t=d:t!==d&&(t+=(l??"")+n[a+1]),this._$AH[a]=l}i&&!o&&this.j(t)}j(t){t===d?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},ct=class extends M{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===d?void 0:t}},lt=class extends M{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==d)}},ut=class extends M{constructor(t,e,s,o,n){super(t,e,s,o,n),this.type=5}_$AI(t,e=this){if((t=j(this,t,e,0)??d)===T)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)}},ht=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){j(this,t)}},pe={M:Ut,P:_,A:Ht,C:1,L:he,R:at,D:ce,V:j,I:z,H:M,N:lt,U:ut,B:ct,F:ht},Le=Mt.litHtmlPolyfillSupport;Le?.(G,z),(Mt.litHtmlVersions??=[]).push("3.3.0");var S=(r,t,e)=>{let s=e?.renderBefore??t,o=s._$litPart$;if(o===void 0){let n=e?.renderBefore??null;s._$litPart$=o=new z(t.insertBefore(J(),n),n,void 0,e??{})}return o._$AI(r),o};var zt=globalThis,D=class extends A{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=S(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return T}};D._$litElement$=!0,D.finalized=!0,zt.litElementHydrateSupport?.({LitElement:D});var qe=zt.litElementPolyfillSupport;qe?.({LitElement:D});(zt.litElementVersions??=[]).push("4.2.0");function fe(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function pt(r,t={}){let{soft:e=!1,upgrade:s=!0}=t;for(let[o,n]of Object.entries(r)){let i=fe(o),c=customElements.get(i);e&&c||(customElements.define(i,n),s&&document.querySelectorAll(i).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}var ft=class r{element;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?this.require(t):t)}require(t){let e=this.element.querySelector(t);if(!e)throw new Error(`$1 ${t} not found`);return e}maybe(t){return this.element.querySelector(t)}all(t){return Array.from(this.element.querySelectorAll(t))}render(...t){return S(t,this.element)}};function E(r){return new ft(document).require(r)}var B=new ft(document);E.register=pt;E.render=(r,...t)=>S(t,r);E.in=B.in.bind(B);E.require=B.require.bind(B);E.maybe=B.maybe.bind(B);E.all=B.all.bind(B);var x=Object.freeze({eq(r,t){if(r.length!==t.length)return!1;for(let e=0;e<=r.length;e++)if(r.at(e)!==t.at(e))return!1;return!0},random(r){return crypto.getRandomValues(new Uint8Array(r))}});var U=Object.freeze({fromBytes(r){return[...r].map(t=>t.toString(16).padStart(2,"0")).join("")},toBytes(r){if(r.length%2!==0)throw new Error("must have even number of hex characters");let t=new Uint8Array(r.length/2);for(let e=0;e<r.length;e+=2)t[e/2]=parseInt(r.slice(e,e+2),16);return t},random(r=32){return this.fromBytes(x.random(r))},string(r){return U.fromBytes(r)},bytes(r){return U.toBytes(r)}});var Dt=58,dt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",It=Object.freeze({fromBytes(r){let t=BigInt("0x"+U.fromBytes(r)),e="";for(;t>0;){let s=t%BigInt(Dt);t=t/BigInt(Dt),e=dt[Number(s)]+e}for(let s of r)if(s===0)e=dt[0]+e;else break;return e},toBytes(r){let t=BigInt(0);for(let i of r){let c=dt.indexOf(i);if(c===-1)throw new Error(`Invalid character '${i}' in base58 string`);t=t*BigInt(Dt)+BigInt(c)}let e=t.toString(16);e.length%2!==0&&(e="0"+e);let s=U.toBytes(e),o=0;for(let i of r)if(i===dt[0])o++;else break;let n=new Uint8Array(o+s.length);return n.set(s,o),n},random(r=32){return this.fromBytes(x.random(r))},string(r){return It.fromBytes(r)},bytes(r){return It.toBytes(r)}});var de=class{lexicon;static lexicons=Object.freeze({base2:{characters:"01"},hex:{characters:"0123456789abcdef"},base36:{characters:"0123456789abcdefghijklmnopqrstuvwxyz"},base58:{characters:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},base62:{characters:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},base64url:{negativePrefix:"~",characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},base64:{characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",padding:{character:"=",size:4}}});lookup;negativePrefix;constructor(t){this.lexicon=t,this.lookup=Object.fromEntries([...t.characters].map((e,s)=>[e,s])),this.negativePrefix=t.negativePrefix??"-"}toBytes(t){let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let c=0,a=0,l=[];for(let u of t){if(u===this.lexicon.padding?.character)continue;let p=this.lookup[u];if(p===void 0)throw new Error(`Invalid character: ${u}`);for(c=c<<e|p,a+=e;a>=8;)a-=8,l.push(c>>a&255)}return new Uint8Array(l)}let s=0n,o=BigInt(this.lexicon.characters.length),n=!1;t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length),n=!0);for(let c of t){let a=this.lookup[c];if(a===void 0)throw new Error(`Invalid character: ${c}`);s=s*o+BigInt(a)}let i=[];for(;s>0n;)i.unshift(Number(s%256n)),s=s/256n;return new Uint8Array(i)}fromBytes(t){let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let i=0,c=0,a="";for(let l of t)for(i=i<<8|l,c+=8;c>=e;){c-=e;let u=i>>c&(1<<e)-1;a+=this.lexicon.characters[u]}if(c>0){let l=i<<e-c&(1<<e)-1;a+=this.lexicon.characters[l]}if(this.lexicon.padding)for(;a.length%this.lexicon.padding.size!==0;)a+=this.lexicon.padding.character;return a}let s=0n;for(let i of t)s=(s<<8n)+BigInt(i);if(s===0n)return this.lexicon.characters[0];let o=BigInt(this.lexicon.characters.length),n="";for(;s>0n;)n=this.lexicon.characters[Number(s%o)]+n,s=s/o;return n}toInteger(t){if(!t)return 0;let e=0n,s=!1,o=BigInt(this.lexicon.characters.length);t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length),s=!0);for(let n of t){let i=this.lookup[n];if(i===void 0)throw new Error(`Invalid character: ${n}`);e=e*o+BigInt(i)}return Number(s?-e:e)}fromInteger(t){t=Math.floor(t);let e=t<0,s=BigInt(e?-t:t);if(s===0n)return this.lexicon.characters[0];let o=BigInt(this.lexicon.characters.length),n="";for(;s>0n;)n=this.lexicon.characters[Number(s%o)]+n,s=s/o;return e?`${this.negativePrefix}${n}`:n}random(t=32){return this.fromBytes(x.random(t))}};var Lt=Object.freeze({fromBytes(r){return typeof btoa=="function"?btoa(String.fromCharCode(...r)):Buffer.from(r).toString("base64")},toBytes(r){return typeof atob=="function"?Uint8Array.from(atob(r),t=>t.charCodeAt(0)):Uint8Array.from(Buffer.from(r,"base64"))},random(r=32){return this.fromBytes(x.random(r))},string(r){return Lt.fromBytes(r)},bytes(r){return Lt.toBytes(r)}});var me=Object.freeze({fromBytes(r){return new TextDecoder().decode(r)},toBytes(r){return new TextEncoder().encode(r)},string(r){return me.fromBytes(r)},bytes(r){return me.toBytes(r)}});function mt(r,t){let e,s,o=[];function n(){e=[],s&&clearTimeout(s),s=void 0,o=[]}return n(),((...i)=>{e=i,s&&clearTimeout(s);let c=new Promise((a,l)=>{o.push({resolve:a,reject:l})});return s=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(a=>{for(let{resolve:l}of o)l(a);n()}).catch(a=>{for(let{reject:l}of o)l(a);n()})},r),c})}var qt=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"});function X(){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}}var I=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)}};var ye=(r=0)=>new Promise(t=>setTimeout(t,r));function Ve(r){return{map:t=>ge(r,t),filter:t=>be(r,t)}}Ve.pipe=Object.freeze({map:r=>(t=>ge(t,r)),filter:r=>(t=>be(t,r))});var ge=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,s])=>[e,t(s,e)])),be=(r,t)=>Object.fromEntries(Object.entries(r).filter(([e,s])=>t(s,e)));function xe(){let r=new Set;async function t(...a){await Promise.all([...r].map(l=>l(...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:l,resolve:u}=X(),p=o(async(...m)=>{a&&await a(...m),u(m),p()});return l}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 yt(r){let t=xe();return r&&t.sub(r),t.sub}function Vt(r){let t=xe();return r&&t.sub(r),t.pub}function gt(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 $e={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},xt=r=>(...t)=>({_$litDirective$:r,values:t}),bt=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 Wt=class{#t=[];#e=new WeakMap;#s=[];#r=new Set;notifyRead(t){this.#t.at(-1)?.add(t)}async notifyWrite(t){if(this.#r.has(t))throw new Error("circularity forbidden");let e=this.#o(t).pub();return this.#s.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.#s.push(s),this.#r.add(t),s.add(e()),this.#r.delete(t),await Promise.all(s),this.#s.pop()})}#o(t){let e=this.#e.get(t);return e||(e=yt(),this.#e.set(t,e)),e}},y=globalThis[Symbol.for("e280.tracker")]??=new Wt;var{I:bn}=pe;var we=r=>r.strings===void 0;var tt=(r,t)=>{let e=r._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),tt(s,t);return!0},$t=r=>{let t,e;do{if((t=r._$AM)===void 0)break;e=t._$AN,e.delete(r),r=t}while(e?.size===0)},ve=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),Ze(t)}};function We(r){this._$AN!==void 0?($t(this),this._$AM=r,ve(this)):this._$AM=r}function Fe(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++)tt(s[n],!1),$t(s[n]);else s!=null&&(tt(s,!1),$t(s));else tt(this,r)}var Ze=r=>{r.type==$e.CHILD&&(r._$AP??=Fe,r._$AQ??=We)},wt=class extends bt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),ve(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(tt(this,t),$t(this))}setValue(t){if(we(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 Ae(r,t){for(let[e,s]of Object.entries(t))s===void 0||s===null?r.removeAttribute(e):typeof s=="string"?r.setAttribute(e,s):typeof s=="number"?r.setAttribute(e,s.toString()):typeof s=="boolean"?s===!0?r.setAttribute(e,""):r.removeAttribute(e):console.warn(`invalid attribute type ${e} is ${typeof s}`)}function vt(r,t){ot(r,Ke(t))}function Ke(r){let t=[];if(Array.isArray(r)){let e=new Set(r.flat(1/0).reverse());for(let s of e)t.unshift(N(s))}else r!==void 0&&t.push(N(r));return t}var L=class{sneak;constructor(t){this.sneak=t}get(){return y.notifyRead(this),this.sneak}get value(){return this.get()}};var q=class extends L{on=yt();dispose(){this.on.clear()}};function At(r,t=r){let{seen:e,result:s}=y.observe(r),o=mt(0,t),n=[],i=()=>n.forEach(c=>c());for(let c of e){let a=y.subscribe(c,o);n.push(a)}return{result:s,dispose:i}}function V(r,t){return r===t}var _t=class extends q{#t;constructor(t,e){let s=e?.compare??V,{result:o,dispose:n}=At(t,async()=>{let i=t();!s(this.sneak,i)&&(this.sneak=i,await Promise.all([y.notifyWrite(this),this.on.pub(i)]))});super(o),this.#t=n}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 St=class extends L{#t;#e;#s=!1;#r;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??V}get(){if(!this.#r){let{result:t,dispose:e}=At(this.#t,()=>this.#s=!0);this.#r=e,this.sneak=t}if(this.#s){this.#s=!1;let t=this.#t();!this.#e(this.sneak,t)&&(this.sneak=t,y.notifyWrite(this))}return super.get()}dispose(){this.#r&&this.#r()}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 Et=class extends q{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??V}async set(t){return!this.#e(this.sneak,t)&&await this.publish(t),t}get value(){return this.get()}set value(t){this.set(t)}async publish(t=this.sneak){if(this.#t)throw new Error("forbid circularity");let e=Promise.resolve();try{this.#t=!0,this.sneak=t,e=Promise.all([y.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 Qe(r,t){return new St(r,t).fn()}function Je(r,t){return new _t(r,t).fn()}function $(r,t){return new Et(r,t).fn()}$.lazy=Qe;$.derive=Je;var H={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)=>H.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 R=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 H.all(...e)}signal;#t=0;#e=Vt();#s=Vt();constructor(t=["loading"]){this.signal=$(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([s])=>t(s)),this.#s.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.#s(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){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 H.value(this.signal.get())}get error(){return H.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 H.select(this.signal.get(),t)}morph(t){return H.morph(this.pod,t)}};var Ct=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 _e=(r,t)=>new Proxy(t,{get:(e,s)=>{let o=t[s],n=r.getAttribute(s);switch(o){case String:return n??void 0;case Number:return n!==null?Number(n):void 0;case Boolean:return n!==null;default:throw new Error(`invalid attribute type for "${s}"`)}},set:(e,s,o)=>{switch(t[s]){case String:return r.setAttribute(s,o),!0;case Number:return r.setAttribute(s,o.toString()),!0;case Boolean:return o?r.setAttribute(s,""):r.removeAttribute(s),!0;default:throw new Error(`invalid attribute type for "${s}"`)}}});function Se(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var Ft=Symbol(),Zt=Symbol(),Kt=Symbol(),Bt=class{element;shadow;renderNow;render;#t=0;#e=0;#s=new I;#r=X();#o=new Ct;[Ft](t){this.#t++,this.#e=0,this.#r=X();let e=t();return this.#r.resolve(),e}[Zt](){this.#o.unmountAll()}[Kt](){this.#o.remountAll()}constructor(t,e,s,o){this.element=t,this.shadow=e,this.renderNow=s,this.render=o}get renderCount(){return this.#t}get rendered(){return this.#r.promise}name(t){this.once(()=>this.element.setAttribute("view",t))}styles(...t){this.once(()=>vt(this.shadow,t))}css(...t){return this.styles(...t)}attrs(t){return this.mount(()=>Se(this.element,this.render)),this.once(()=>_e(this.element,t))}once(t){return this.#s.guarantee(this.#e++,t)}mount(t){return this.once(()=>this.#o.mount(t))}life(t){let e;return this.mount(()=>{let[s,o]=t();return e=s,o}),e}wake(t){return this.life(()=>[t(),()=>{}])}op=(()=>{let t=this;function e(s){return t.once(()=>R.load(s))}return e.load=e,e.promise=s=>this.once(()=>R.promise(s)),e})();signal=(()=>{let t=this;function e(s,o){return t.once(()=>$(s,o))}return e.derive=function(o,n){return t.once(()=>$.derive(o,n))},e.lazy=function(o,n){return t.once(()=>$.lazy(o,n))},e})();derive(t,e){return this.once(()=>$.derive(t,e))}lazy(t,e){return this.once(()=>$.lazy(t,e))}};var w=Ee({mode:"open"}),Qt=class extends HTMLElement{};pt({SlyView:Qt},{soft:!0,upgrade:!0});function Ee(r){function t(e){let s=c=>class extends wt{#t=c.getElement();#e=this.#t.attachShadow(r);#s=mt(0,()=>this.#i());#r=new I;#o;#n=new Bt(this.#t,this.#e,()=>this.#i(),this.#s);#a=(()=>{let l=e(this.#n);return this.#t.setAttribute("view",r.name??""),r.styles&&vt(this.#e,r.styles),l})();#i(){if(!this.#o||!this.isConnected)return;let{context:l,props:u}=this.#o;this.#n[Ft](()=>{Ae(this.#t,l.attrs);let{result:p,seen:m}=y.observe(()=>this.#a(...u));S(p,this.#e);for(let b of m)this.#r.guarantee(b,()=>y.subscribe(b,async()=>this.#s()));c.isComponent||S(l.children,this.#t)})}render(l,u){return this.#o={context:l,props:u},this.#i(),c.isComponent?null:this.#t}disconnected(){this.#n[Zt]();for(let l of this.#r.values())l();this.#r.clear()}reconnected(){this.#n[Kt]()}},o=xt(s({getElement:()=>document.createElement(r.tag??"sly-view"),isComponent:!1})),n=()=>({attrs:{},children:[]});function i(...c){return o(n(),c)}return i.props=(...c)=>{let a=n(),l={children(...u){return a={...a,children:[...a.children,...u]},l},attrs(u){return a={...a,attrs:{...a.attrs,...u}},l},attr(u,p){return a={...a,attrs:{...a.attrs,[u]:p}},l},render(){return o(a,c)}};return l},i.component=(...c)=>class extends HTMLElement{#t=xt(s({getElement:()=>this,isComponent:!0}));constructor(){super(),this.render(...c)}render(...a){this.isConnected&&S(this.#t(n(),a),this)}},i}return t.declare=t,t.settings=e=>Ee({...r,...e}),t.component=e=>t(s=>()=>e(s)).component(),t}var v=g`
4
4
  @layer reset {
5
5
  * {
6
6
  margin: 0;