@e280/sly 0.2.2 โ†’ 0.2.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
@@ -4,9 +4,8 @@
4
4
  # ๐Ÿฆ sly
5
5
  > *mischievous shadow views*
6
6
 
7
- [@e280](https://e280.org/)'s new [lit](https://lit.dev/)-based frontend webdev library. *(sly replaces its predecessor, [slate](https://github.com/benevolent-games/slate))*
7
+ [@e280](https://e280.org/)'s new [lit](https://lit.dev/)-based frontend webdev library.
8
8
 
9
- - **โœจ[shiny](https://shiny.e280.org/)โœจ** โ€” our wip component library https://shiny.e280.org/
10
9
  - ๐Ÿ‹ [**#views**](#views) โ€” shadow-dom'd, hooks-based, componentizable
11
10
  - ๐Ÿชต [**#base-element**](#base-element) โ€” for a more classical experience
12
11
  - ๐Ÿช„ [**#dom**](#dom) โ€” the "it's not jquery" multitool
@@ -14,7 +13,8 @@
14
13
  - โณ [**#loaders**](#loaders) โ€” animated loading spinners for rendering ops
15
14
  - ๐Ÿ’… [**#spa**](#spa) โ€” hash routing for your spa-day
16
15
  - ๐Ÿช™ [**#loot**](#loot) โ€” drag-and-drop facilities
17
- - ๐Ÿงช testing page โ€” https://sly.e280.org/
16
+ - ๐Ÿงช https://sly.e280.org/ โ€” our testing page
17
+ - **โœจ[shiny](https://shiny.e280.org/)โœจ** โ€” our wip component library
18
18
 
19
19
 
20
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/sly",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "web shadow views",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,11 +24,11 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@e280/strata": "^0.2.4",
27
- "@e280/stz": "^0.2.14"
27
+ "@e280/stz": "^0.2.15"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@e280/science": "^0.1.4",
31
- "@e280/scute": "^0.1.1",
31
+ "@e280/scute": "^0.1.2",
32
32
  "http-server": "^14.1.1",
33
33
  "npm-run-all": "^4.1.5",
34
34
  "typescript": "^5.9.3"
package/s/base/index.ts CHANGED
@@ -2,5 +2,6 @@
2
2
  export * from "./utils/states.js"
3
3
  export * from "./css-reset.js"
4
4
  export * from "./element.js"
5
+ export * from "./types.js"
5
6
  export * from "./use.js"
6
7
 
@@ -0,0 +1,5 @@
1
+
2
+ export type Life<V> = [result: V, dispose: () => void]
3
+ export const asLife = <V>(life: Life<V>) => life
4
+ export const asLifeFn = <V>(fn: () => Life<V>) => fn
5
+
package/s/base/use.ts CHANGED
@@ -49,35 +49,47 @@ export class Use {
49
49
  this.attrs = useAttrs(this)
50
50
  }
51
51
 
52
+ /** number of times this view has been rendered */
52
53
  get renderCount() {
53
54
  return this.#runs
54
55
  }
55
56
 
57
+ /** promise that resolves when this view next renders */
56
58
  get rendered() {
57
59
  return this.#rendered.promise
58
60
  }
59
61
 
62
+ /** set the 'name' html attribute on the host element */
60
63
  name(name: string) {
61
64
  this.once(() => this.element.setAttribute("view", name))
62
65
  }
63
66
 
67
+ /** attach stylesheets into the view's shadow dom */
64
68
  styles(...styles: CSSResultGroup[]) {
65
69
  this.once(() => applyStyles(this.shadow, styles))
66
70
  }
67
71
 
68
- /** alias for 'styles' */
72
+ /** attach stylesheets into the view's shadow dom (alias for 'styles') */
69
73
  css(...styles: CSSResultGroup[]) {
70
74
  return this.styles(...styles)
71
75
  }
72
76
 
77
+ /** run a fn at initialization, and return a value */
73
78
  once<V>(fn: () => V) {
74
79
  return this.#values.guarantee(this.#position++, fn) as V
75
80
  }
76
81
 
82
+ /** setup a mount/unmount lifecycle (your mount fn returns an unmount fn) */
77
83
  mount(fn: () => () => void) {
78
84
  return this.once(() => this.#mounts.mount(fn))
79
85
  }
80
86
 
87
+ /** run fn each time mounted, return a value */
88
+ wake<V>(fn: () => V) {
89
+ return this.life(() => [fn(), () => {}])
90
+ }
91
+
92
+ /** mount/unmount lifecycle, but also return a value */
81
93
  life<V>(fn: () => [result: V, dispose: () => void]) {
82
94
  let r: V | undefined
83
95
  this.mount(() => {
@@ -88,18 +100,17 @@ export class Use {
88
100
  return r as V
89
101
  }
90
102
 
91
- wake<V>(fn: () => V) {
92
- return this.life(() => [fn(), () => {}])
93
- }
94
-
103
+ /** attach event listeners on mount (they get cleaned up on unmount) */
95
104
  events(spec: EveSpec) {
96
105
  return this.mount(() => eve(this.element, spec))
97
106
  }
98
107
 
108
+ /** helper for setting up internal states (its a dom api, look up `ElementInternals: states`) */
99
109
  states<S extends string = string>() {
100
110
  return this.once(() => new States<S>(this.element))
101
111
  }
102
112
 
113
+ /** setup typed html attribute access */
103
114
  op = (() => {
104
115
  const that = this
105
116
  function op<V>(f: () => Promise<V>) {
@@ -110,6 +121,7 @@ export class Use {
110
121
  return op
111
122
  })()
112
123
 
124
+ /** use a strata signal */
113
125
  signal = (() => {
114
126
  const that = this
115
127
  function sig<V>(value: V, options?: Partial<SignalOptions>) {
@@ -124,10 +136,12 @@ export class Use {
124
136
  return sig
125
137
  })()
126
138
 
139
+ /** use a derived strata signal */
127
140
  derived<V>(formula: () => V, options?: Partial<SignalOptions>) {
128
141
  return this.once(() => signal.derived<V>(formula, options))
129
142
  }
130
143
 
144
+ /** use a lazy strata signal */
131
145
  lazy<V>(formula: () => V, options?: Partial<SignalOptions>) {
132
146
  return this.once(() => signal.lazy<V>(formula, options))
133
147
  }
package/s/dom/dom.ts CHANGED
@@ -15,7 +15,7 @@ export function dom<E extends Element>(selector: string, container: Queryable =
15
15
  return queryRequire<E>(selector, container)
16
16
  }
17
17
 
18
- dom.in = <E extends HTMLElement>(selectorOrElement: string | E, container: Queryable = document) => {
18
+ dom.in = <E extends Queryable>(selectorOrElement: string | E, container: Queryable = document) => {
19
19
  return new Dom(container).in(selectorOrElement)
20
20
  }
21
21
 
@@ -11,7 +11,7 @@ export class Dom<C extends Queryable> {
11
11
 
12
12
  constructor(public element: C) {}
13
13
 
14
- in<E extends HTMLElement>(selectorOrElement: string | E) {
14
+ in<E extends Queryable>(selectorOrElement: string | E) {
15
15
  return new Dom<E>(
16
16
  (typeof selectorOrElement === "string")
17
17
  ? queryRequire(selectorOrElement, this.element) as E
package/s/loot/helpers.ts CHANGED
@@ -13,19 +13,9 @@ export function files(event: DragEvent) {
13
13
  }
14
14
 
15
15
  export function outsideCurrentTarget(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
16
+ const currentTarget = event.currentTarget as HTMLElement
17
+ const relatedTarget = event.relatedTarget as HTMLElement
18
+ const nulled = !currentTarget || !relatedTarget
19
+ return nulled || !currentTarget.contains(relatedTarget)
30
20
  }
31
21
 
package/x/base/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./utils/states.js";
2
2
  export * from "./css-reset.js";
3
3
  export * from "./element.js";
4
+ export * from "./types.js";
4
5
  export * from "./use.js";
package/x/base/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./utils/states.js";
2
2
  export * from "./css-reset.js";
3
3
  export * from "./element.js";
4
+ export * from "./types.js";
4
5
  export * from "./use.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/base/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/base/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type Life<V> = [result: V, dispose: () => void];
2
+ export declare const asLife: <V>(life: Life<V>) => Life<V>;
3
+ export declare const asLifeFn: <V>(fn: () => Life<V>) => () => Life<V>;
@@ -0,0 +1,3 @@
1
+ export const asLife = (life) => life;
2
+ export const asLifeFn = (fn) => fn;
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../s/base/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,IAAa,EAAE,EAAE,CAAC,IAAI,CAAA;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,EAAiB,EAAE,EAAE,CAAC,EAAE,CAAA"}
package/x/base/use.d.ts CHANGED
@@ -18,28 +18,42 @@ export declare class Use {
18
18
  [_disconnect](): void;
19
19
  [_reconnect](): void;
20
20
  constructor(element: HTMLElement, shadow: ShadowRoot, renderNow: () => void, render: () => Promise<void>);
21
+ /** number of times this view has been rendered */
21
22
  get renderCount(): number;
23
+ /** promise that resolves when this view next renders */
22
24
  get rendered(): Promise<void>;
25
+ /** set the 'name' html attribute on the host element */
23
26
  name(name: string): void;
27
+ /** attach stylesheets into the view's shadow dom */
24
28
  styles(...styles: CSSResultGroup[]): void;
25
- /** alias for 'styles' */
29
+ /** attach stylesheets into the view's shadow dom (alias for 'styles') */
26
30
  css(...styles: CSSResultGroup[]): void;
31
+ /** run a fn at initialization, and return a value */
27
32
  once<V>(fn: () => V): V;
33
+ /** setup a mount/unmount lifecycle (your mount fn returns an unmount fn) */
28
34
  mount(fn: () => () => void): void;
29
- life<V>(fn: () => [result: V, dispose: () => void]): V;
35
+ /** run fn each time mounted, return a value */
30
36
  wake<V>(fn: () => V): V;
37
+ /** mount/unmount lifecycle, but also return a value */
38
+ life<V>(fn: () => [result: V, dispose: () => void]): V;
39
+ /** attach event listeners on mount (they get cleaned up on unmount) */
31
40
  events(spec: EveSpec): void;
41
+ /** helper for setting up internal states (its a dom api, look up `ElementInternals: states`) */
32
42
  states<S extends string = string>(): States<S>;
43
+ /** setup typed html attribute access */
33
44
  op: {
34
45
  <V>(f: () => Promise<V>): Op<V>;
35
46
  load: <V>(f: () => Promise<V>) => Op<V>;
36
47
  promise<V>(p: Promise<V>): Op<V>;
37
48
  };
49
+ /** use a strata signal */
38
50
  signal: {
39
51
  <V>(value: V, options?: Partial<SignalOptions>): import("@e280/strata/signals").SignalFn<V>;
40
52
  derived<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").DerivedFn<V>;
41
53
  lazy<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").LazyFn<V>;
42
54
  };
55
+ /** use a derived strata signal */
43
56
  derived<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").DerivedFn<V>;
57
+ /** use a lazy strata signal */
44
58
  lazy<V>(formula: () => V, options?: Partial<SignalOptions>): import("@e280/strata/signals").LazyFn<V>;
45
59
  }
package/x/base/use.js CHANGED
@@ -43,28 +43,39 @@ export class Use {
43
43
  this.render = render;
44
44
  this.attrs = useAttrs(this);
45
45
  }
46
+ /** number of times this view has been rendered */
46
47
  get renderCount() {
47
48
  return this.#runs;
48
49
  }
50
+ /** promise that resolves when this view next renders */
49
51
  get rendered() {
50
52
  return this.#rendered.promise;
51
53
  }
54
+ /** set the 'name' html attribute on the host element */
52
55
  name(name) {
53
56
  this.once(() => this.element.setAttribute("view", name));
54
57
  }
58
+ /** attach stylesheets into the view's shadow dom */
55
59
  styles(...styles) {
56
60
  this.once(() => applyStyles(this.shadow, styles));
57
61
  }
58
- /** alias for 'styles' */
62
+ /** attach stylesheets into the view's shadow dom (alias for 'styles') */
59
63
  css(...styles) {
60
64
  return this.styles(...styles);
61
65
  }
66
+ /** run a fn at initialization, and return a value */
62
67
  once(fn) {
63
68
  return this.#values.guarantee(this.#position++, fn);
64
69
  }
70
+ /** setup a mount/unmount lifecycle (your mount fn returns an unmount fn) */
65
71
  mount(fn) {
66
72
  return this.once(() => this.#mounts.mount(fn));
67
73
  }
74
+ /** run fn each time mounted, return a value */
75
+ wake(fn) {
76
+ return this.life(() => [fn(), () => { }]);
77
+ }
78
+ /** mount/unmount lifecycle, but also return a value */
68
79
  life(fn) {
69
80
  let r;
70
81
  this.mount(() => {
@@ -74,15 +85,15 @@ export class Use {
74
85
  });
75
86
  return r;
76
87
  }
77
- wake(fn) {
78
- return this.life(() => [fn(), () => { }]);
79
- }
88
+ /** attach event listeners on mount (they get cleaned up on unmount) */
80
89
  events(spec) {
81
90
  return this.mount(() => eve(this.element, spec));
82
91
  }
92
+ /** helper for setting up internal states (its a dom api, look up `ElementInternals: states`) */
83
93
  states() {
84
94
  return this.once(() => new States(this.element));
85
95
  }
96
+ /** setup typed html attribute access */
86
97
  op = (() => {
87
98
  const that = this;
88
99
  function op(f) {
@@ -92,6 +103,7 @@ export class Use {
92
103
  op.promise = (p) => this.once(() => Op.promise(p));
93
104
  return op;
94
105
  })();
106
+ /** use a strata signal */
95
107
  signal = (() => {
96
108
  const that = this;
97
109
  function sig(value, options) {
@@ -105,9 +117,11 @@ export class Use {
105
117
  };
106
118
  return sig;
107
119
  })();
120
+ /** use a derived strata signal */
108
121
  derived(formula, options) {
109
122
  return this.once(() => signal.derived(formula, options));
110
123
  }
124
+ /** use a lazy strata signal */
111
125
  lazy(formula, options) {
112
126
  return this.once(() => signal.lazy(formula, options));
113
127
  }
package/x/base/use.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../s/base/use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../s/base/use.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  var ts=Object.defineProperty;var re=(s,t)=>{for(var e in t)ts(s,e,{get:t[e],enumerable:!0})};var $t=globalThis,xt=$t.ShadowRoot&&($t.ShadyCSS===void 0||$t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,oe=Symbol(),xe=new WeakMap,ct=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==oe)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(xt&&t===void 0){let r=e!==void 0&&e.length===1;r&&(t=xe.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&xe.set(e,t))}return t}toString(){return this.cssText}},_e=s=>new ct(typeof s=="string"?s:s+"",void 0,oe),b=(s,...t)=>{let e=s.length===1?s[0]:t.reduce(((r,o,i)=>r+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+s[i+1]),s[0]);return new ct(e,s,oe)},_t=(s,t)=>{if(xt)s.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(let e of t){let r=document.createElement("style"),o=$t.litNonce;o!==void 0&&r.setAttribute("nonce",o),r.textContent=e.cssText,s.appendChild(r)}},G=xt?s=>s:s=>s instanceof CSSStyleSheet?(t=>{let e="";for(let r of t.cssRules)e+=r.cssText;return _e(e)})(s):s;var{is:es,defineProperty:ss,getOwnPropertyDescriptor:rs,getOwnPropertyNames:os,getOwnPropertySymbols:is,getPrototypeOf:ns}=Object,At=globalThis,Ae=At.trustedTypes,as=Ae?Ae.emptyScript:"",cs=At.reactiveElementPolyfillSupport,ht=(s,t)=>s,ie={toAttribute(s,t){switch(t){case Boolean:s=s?as:null;break;case Object:case Array:s=s==null?s:JSON.stringify(s)}return s},fromAttribute(s,t){let e=s;switch(t){case Boolean:e=s!==null;break;case Number:e=s===null?null:Number(s);break;case Object:case Array:try{e=JSON.parse(s)}catch{e=null}}return e}},Se=(s,t)=>!es(s,t),ve={attribute:!0,type:String,converter:ie,reflect:!1,useDefault:!1,hasChanged:Se};Symbol.metadata??=Symbol("metadata"),At.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=ve){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 r=Symbol(),o=this.getPropertyDescriptor(t,r,e);o!==void 0&&ss(this.prototype,t,o)}}static getPropertyDescriptor(t,e,r){let{get:o,set:i}=rs(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get:o,set(n){let c=o?.call(this);i?.call(this,n),this.requestUpdate(t,c,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??ve}static _$Ei(){if(this.hasOwnProperty(ht("elementProperties")))return;let t=ns(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(ht("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ht("properties"))){let e=this.properties,r=[...os(e),...is(e)];for(let o of r)this.createProperty(o,e[o])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[r,o]of e)this.elementProperties.set(r,o)}this._$Eh=new Map;for(let[e,r]of this.elementProperties){let o=this._$Eu(e,r);o!==void 0&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let r=new Set(t.flat(1/0).reverse());for(let o of r)e.unshift(G(o))}else t!==void 0&&e.push(G(t));return e}static _$Eu(t,e){let r=e.attribute;return r===!1?void 0:typeof r=="string"?r: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 r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return _t(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,r){this._$AK(t,r)}_$ET(t,e){let r=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,r);if(o!==void 0&&r.reflect===!0){let i=(r.converter?.toAttribute!==void 0?r.converter:ie).toAttribute(e,r.type);this._$Em=t,i==null?this.removeAttribute(o):this.setAttribute(o,i),this._$Em=null}}_$AK(t,e){let r=this.constructor,o=r._$Eh.get(t);if(o!==void 0&&this._$Em!==o){let i=r.getPropertyOptions(o),n=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:ie;this._$Em=o;let c=n.fromAttribute(e,i.type);this[o]=c??this._$Ej?.get(o)??c,this._$Em=null}}requestUpdate(t,e,r){if(t!==void 0){let o=this.constructor,i=this[t];if(r??=o.getPropertyOptions(t),!((r.hasChanged??Se)(i,e)||r.useDefault&&r.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,r))))return;this.C(t,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:r,reflect:o,wrapped:i},n){r&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),i!==!0||n!==void 0)||(this._$AL.has(t)||(this.hasUpdated||r||(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,i]of this._$Ep)this[o]=i;this._$Ep=void 0}let r=this.constructor.elementProperties;if(r.size>0)for(let[o,i]of r){let{wrapped:n}=i,c=this[o];n!==!0||this._$AL.has(o)||c===void 0||this.C(o,void 0,i,c)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((r=>r.hostUpdate?.())),this.update(e)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}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[ht("elementProperties")]=new Map,k[ht("finalized")]=new Map,cs?.({ReactiveElement:k}),(At.reactiveElementVersions??=[]).push("2.1.1");var ae=globalThis,vt=ae.trustedTypes,Ee=vt?vt.createPolicy("lit-html",{createHTML:s=>s}):void 0,ce="$lit$",P=`lit$${Math.random().toFixed(9).slice(2)}$`,he="?"+P,hs=`<${he}>`,U=document,pt=()=>U.createComment(""),lt=s=>s===null||typeof s!="object"&&typeof s!="function",ue=Array.isArray,Te=s=>ue(s)||typeof s?.[Symbol.iterator]=="function",ne=`[
2
2
  \f\r]`,ut=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ce=/-->/g,ke=/>/g,j=RegExp(`>|${ne}(?:([^\\s"'>=/]+)(${ne}*=${ne}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Pe=/'/g,Re=/"/g,Me=/^(?:script|style|textarea|title)$/i,pe=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),_=pe(1),pr=pe(2),lr=pe(3),H=Symbol.for("lit-noChange"),y=Symbol.for("lit-nothing"),Oe=new WeakMap,L=U.createTreeWalker(U,129);function Ne(s,t){if(!ue(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ee!==void 0?Ee.createHTML(t):t}var je=(s,t)=>{let e=s.length-1,r=[],o,i=t===2?"<svg>":t===3?"<math>":"",n=ut;for(let c=0;c<e;c++){let a=s[c],u,g,l=-1,$=0;for(;$<a.length&&(n.lastIndex=$,g=n.exec(a),g!==null);)$=n.lastIndex,n===ut?g[1]==="!--"?n=Ce:g[1]!==void 0?n=ke:g[2]!==void 0?(Me.test(g[2])&&(o=RegExp("</"+g[2],"g")),n=j):g[3]!==void 0&&(n=j):n===j?g[0]===">"?(n=o??ut,l=-1):g[1]===void 0?l=-2:(l=n.lastIndex-g[2].length,u=g[1],n=g[3]===void 0?j:g[3]==='"'?Re:Pe):n===Re||n===Pe?n=j:n===Ce||n===ke?n=ut:(n=j,o=void 0);let O=n===j&&s[c+1].startsWith("/>")?" ":"";i+=n===ut?a+hs:l>=0?(r.push(u),a.slice(0,l)+ce+a.slice(l)+P+O):a+P+(l===-2?c:O)}return[Ne(s,i+(s[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]},mt=class s{constructor({strings:t,_$litType$:e},r){let o;this.parts=[];let i=0,n=0,c=t.length-1,a=this.parts,[u,g]=je(t,e);if(this.el=s.createElement(u,r),L.currentNode=this.el.content,e===2||e===3){let l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(o=L.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let l of o.getAttributeNames())if(l.endsWith(ce)){let $=g[n++],O=o.getAttribute(l).split(P),wt=/([.?@])?(.*)/.exec($);a.push({type:1,index:i,name:wt[2],strings:O,ctor:wt[1]==="."?Et:wt[1]==="?"?Ct:wt[1]==="@"?kt:D}),o.removeAttribute(l)}else l.startsWith(P)&&(a.push({type:6,index:i}),o.removeAttribute(l));if(Me.test(o.tagName)){let l=o.textContent.split(P),$=l.length-1;if($>0){o.textContent=vt?vt.emptyScript:"";for(let O=0;O<$;O++)o.append(l[O],pt()),L.nextNode(),a.push({type:2,index:++i});o.append(l[$],pt())}}}else if(o.nodeType===8)if(o.data===he)a.push({type:2,index:i});else{let l=-1;for(;(l=o.data.indexOf(P,l+1))!==-1;)a.push({type:7,index:i}),l+=P.length-1}i++}}static createElement(t,e){let r=U.createElement("template");return r.innerHTML=t,r}};function z(s,t,e=s,r){if(t===H)return t;let o=r!==void 0?e._$Co?.[r]:e._$Cl,i=lt(t)?void 0:t._$litDirective$;return o?.constructor!==i&&(o?._$AO?.(!1),i===void 0?o=void 0:(o=new i(s),o._$AT(s,e,r)),r!==void 0?(e._$Co??=[])[r]=o:e._$Cl=o),o!==void 0&&(t=z(s,o._$AS(s,t.values),o,r)),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:r}=this._$AD,o=(t?.creationScope??U).importNode(e,!0);L.currentNode=o;let i=L.nextNode(),n=0,c=0,a=r[0];for(;a!==void 0;){if(n===a.index){let u;a.type===2?u=new J(i,i.nextSibling,this,t):a.type===1?u=new a.ctor(i,a.name,a.strings,this,t):a.type===6&&(u=new Pt(i,this,t)),this._$AV.push(u),a=r[++c]}n!==a?.index&&(i=L.nextNode(),n++)}return L.currentNode=U,o}p(t){let e=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}},J=class s{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,o){this.type=2,this._$AH=y,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,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=z(this,t,e),lt(t)?t===y||t==null||t===""?(this._$AH!==y&&this._$AR(),this._$AH=y):t!==this._$AH&&t!==H&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Te(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!==y&&lt(this._$AH)?this._$AA.nextSibling.data=t:this.T(U.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:r}=t,o=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=mt.createElement(Ne(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===o)this._$AH.p(e);else{let i=new St(o,this),n=i.u(this.options);i.p(e),this.T(n),this._$AH=i}}_$AC(t){let e=Oe.get(t.strings);return e===void 0&&Oe.set(t.strings,e=new mt(t)),e}k(t){ue(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,r,o=0;for(let i of t)o===e.length?e.push(r=new s(this.O(pt()),this.O(pt()),this,this.options)):r=e[o],r._$AI(i),o++;o<e.length&&(this._$AR(r&&r._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let r=t.nextSibling;t.remove(),t=r}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},D=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,o,i){this.type=1,this._$AH=y,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=i,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=y}_$AI(t,e=this,r,o){let i=this.strings,n=!1;if(i===void 0)t=z(this,t,e,0),n=!lt(t)||t!==this._$AH&&t!==H,n&&(this._$AH=t);else{let c=t,a,u;for(t=i[0],a=0;a<i.length-1;a++)u=z(this,c[r+a],e,a),u===H&&(u=this._$AH[a]),n||=!lt(u)||u!==this._$AH[a],u===y?t=y:t!==y&&(t+=(u??"")+i[a+1]),this._$AH[a]=u}n&&!o&&this.j(t)}j(t){t===y?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Et=class extends D{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===y?void 0:t}},Ct=class extends D{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==y)}},kt=class extends D{constructor(t,e,r,o,i){super(t,e,r,o,i),this.type=5}_$AI(t,e=this){if((t=z(this,t,e,0)??y)===H)return;let r=this._$AH,o=t===y&&r!==y||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,i=t!==y&&(r===y||o);o&&this.element.removeEventListener(this.name,this,r),i&&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,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){z(this,t)}},Le={M:ce,P,A:he,C:1,L:je,R:St,D:Te,V:z,I:J,H:D,N:Ct,U:kt,B:Et,F:Pt},us=ae.litHtmlPolyfillSupport;us?.(mt,J),(ae.litHtmlVersions??=[]).push("3.3.1");var T=(s,t,e)=>{let r=e?.renderBefore??t,o=r._$litPart$;if(o===void 0){let i=e?.renderBefore??null;r._$litPart$=o=new J(t.insertBefore(pt(),i),i,void 0,e??{})}return o._$AI(s),o};var le=globalThis,Z=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=T(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return H}};Z._$litElement$=!0,Z.finalized=!0,le.litElementHydrateSupport?.({LitElement:Z});var ps=le.litElementPolyfillSupport;ps?.({LitElement:Z});(le.litElementVersions??=[]).push("4.2.1");var A={string:(s,t)=>s.getAttribute(t)??void 0,number:(s,t)=>{let e=s.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(s,t)=>s.getAttribute(t)!==null},d={string:(s,t,e)=>(e===void 0?s.removeAttribute(t):s.setAttribute(t,e),!0),number:(s,t,e)=>(e===void 0?s.removeAttribute(t):s.setAttribute(t,e.toString()),!0),boolean:(s,t,e)=>(e?s.setAttribute(t,""):s.removeAttribute(t),!0),any:(s,t,e)=>{e==null?s.removeAttribute(t):typeof e=="string"?s.setAttribute(t,e):typeof e=="number"?s.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?s.setAttribute(t,""):s.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)},entries:(s,t)=>{for(let[e,r]of t)d.any(s,e,r)},record:(s,t)=>d.entries(s,Object.entries(t))};function Ue(s,t={}){let e=document.createElement(s);return d.record(e,t),e}function He(s){let t=document.createDocumentFragment();return T(s,t),t.firstElementChild}function K(s,t){let e=[];for(let[r,o]of Object.entries(t))if(typeof o=="function")s.addEventListener(r,o),e.push(()=>s.removeEventListener(r,o));else{let[i,n]=o;s.addEventListener(r,n,i),e.push(()=>s.removeEventListener(r,n))}return()=>e.forEach(r=>r())}function ze(s,t){let e=new MutationObserver(t);return e.observe(s,{attributes:!0}),()=>e.disconnect()}var De=(s,t)=>new Proxy(t,{get:(e,r)=>{switch(t[r]){case String:return A.string(s,r);case Number:return A.number(s,r);case Boolean:return A.boolean(s,r);default:throw new Error(`invalid attribute type for "${r}"`)}},set:(e,r,o)=>{switch(t[r]){case String:return d.string(s,r,o);case Number:return d.number(s,r,o);case Boolean:return d.boolean(s,r,o);default:throw new Error(`invalid attribute type for "${r}"`)}}});var Rt=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>A.string(this.element,e),set:(t,e,r)=>d.string(this.element,e,r)});numbers=new Proxy({},{get:(t,e)=>A.number(this.element,e),set:(t,e,r)=>d.number(this.element,e,r)});booleans=new Proxy({},{get:(t,e)=>A.boolean(this.element,e),set:(t,e,r)=>d.boolean(this.element,e,r)})};function Q(s){let t=new Rt(s);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>ze(s,e),spec:e=>De(s,e)}}Q.get=A;Q.set=d;function qe(s){return new me(s)}var me=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,r]of Object.entries(t))this.attr(e,r);return this}children(...t){return this.#e.push(...t),this}done(){let t=document.createElement(this.tagName);return d.entries(t,this.#t),t.append(...this.#e),t}};function Y(s,t=document){let e=t.querySelector(s);if(!e)throw new Error(`element not found (${s})`);return e}function Ot(s,t=document){return t.querySelector(s)}function Tt(s,t=document){return Array.from(t.querySelectorAll(s))}var Mt=class s{element;#t;constructor(t){this.element=t}in(t){return new s(typeof t=="string"?Y(t,this.element):t)}require(t){return Y(t,this.element)}maybe(t){return Ot(t,this.element)}all(t){return Tt(t,this.element)}render(...t){return T(t,this.element)}get attrs(){return this.#t??=Q(this.element)}events(t){return K(this.element,t)}};function Be(s){return s.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function We(s,t={}){let{soft:e=!1,upgrade:r=!0}=t;for(let[o,i]of Object.entries(s)){let n=Be(o),c=customElements.get(n);e&&c||(customElements.define(n,i),r&&document.querySelectorAll(n).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function p(s,t=document){return Y(s,t)}p.in=(s,t=document)=>new Mt(t).in(s);p.require=Y;p.maybe=Ot;p.all=Tt;p.el=Ue;p.elmer=qe;p.mk=He;p.events=K;p.attrs=Q;p.register=We;p.render=(s,...t)=>T(t,s);var Nt=class{#t;#e;constructor(t,e){this.#e=t,this.#t=e}attr(t,e=!0){return this.#e.attrs.set(t,e),this}attrs(t){for(let[e,r]of Object.entries(t))this.#e.attrs.set(e,r);return this}children(...t){return this.#e.children.push(...t),this}render(){return this.#t(this.#e)}};var ft=class{props;attrs=new Map;children=[];constructor(t){this.props=t}};function X(s,t){let e,r,o=[];function i(){e=[],r&&clearTimeout(r),r=void 0,o=[]}return i(),((...n)=>{e=n,r&&clearTimeout(r);let c=new Promise((a,u)=>{o.push({resolve:a,reject:u})});return r=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(a=>{for(let{resolve:u}of o)u(a);i()}).catch(a=>{for(let{reject:u}of o)u(a);i()})},s),c})}function q(){let s,t,e=new Promise((o,i)=>{s=o,t=i});function r(o){return o.then(s).catch(t),e}return{promise:e,resolve:s,reject:t,entangle:r}}function jt(s){let t=null;return((...e)=>(t?t.params=e:(t={params:e,deferred:q()},queueMicrotask(()=>{let{params:r,deferred:o}=t;t=null,Promise.resolve(s(...r)).then(o.resolve).catch(o.reject)})),t.deferred.promise))}var R={};re(R,{clone:()=>dt,equal:()=>ls,freeze:()=>ms});function dt(s,t=new Set){if(t.has(s))throw new Error("cannot clone circular reference");let e;return typeof s=="function"||s!==null&&typeof s=="object"?(t.add(s),Array.isArray(s)?e=s.map(r=>dt(r,new Set(t))):s.constructor===Object?e=Object.fromEntries(Object.entries(s).map(([r,o])=>[r,dt(o,new Set(t))])):s instanceof Map?e=new Map(Array.from(s,([r,o])=>[r,dt(o,new Set(t))])):s instanceof Set?e=new Set(Array.from(s,r=>dt(r,new Set(t)))):s instanceof Date?e=new Date(s.getTime()):e=s,t.delete(s)):e=s,e}var gt=Object.freeze({happy:s=>s!=null,sad:s=>s==null,boolean:s=>typeof s=="boolean",number:s=>typeof s=="number",string:s=>typeof s=="string",bigint:s=>typeof s=="bigint",object:s=>typeof s=="object"&&s!==null,array:s=>Array.isArray(s),fn:s=>typeof s=="function",symbol:s=>typeof s=="symbol"});var ls=(s,t)=>{function e(r,o,i){if(!gt.object(r)||!gt.object(o))return r===o;if(i.includes(r))throw new Error("forbidden circularity detected in deep equal comparison");let n=[...i,r];if(r instanceof Map&&o instanceof Map){if(r.size!==o.size)return!1;for(let[c,a]of r)if(!o.has(c)||!e(a,o.get(c),n))return!1}else if(r instanceof Set&&o instanceof Set){if(r.size!==o.size)return!1;for(let c of r)if(!Array.from(o).some(a=>e(c,a,n)))return!1}else{let c=Object.keys(r),a=Object.keys(o);if(c.length!==a.length)return!1;for(let u of c)if(!a.includes(u)||!e(r[u],o[u],n))return!1}return!0}return e(s,t,[])};function ms(s){function t(e,r){if(!gt.object(e)||r.includes(e))return e;let o=[...r,e];if(e instanceof Map)for(let i of e.entries())for(let n of i)t(n,o);else if(e instanceof Set)for(let i of e)t(i,o);else if(Array.isArray(e))for(let i of e)t(i,o);else for(let i of Object.values(e))t(i,o);return Object.freeze(e)}return t(s,[])}var tt=class s 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,r){if(t.has(e))return t.get(e);{let o=r();return t.set(e,o),o}}array(){return[...this]}require(t){return s.require(this,t)}guarantee(t,e){return s.guarantee(this,t,e)}};function Lt(s){let t,e=!1,r=()=>{e=!0,clearTimeout(t)},o=async()=>{e||(await s(r),!e&&(t=setTimeout(o,0)))};return o(),r}var Ut=(s=0)=>new Promise(t=>setTimeout(t,s));function Ie(){let s=new Set;async function t(...a){await Promise.all([...s].map(u=>u(...a)))}function e(a){return s.add(a),()=>{s.delete(a)}}async function r(...a){return t(...a)}function o(a){return e(a)}async function i(a){let{promise:u,resolve:g}=q(),l=o(async(...$)=>{a&&await a(...$),g($),l()});return u}function n(){s.clear()}let c={pub:r,sub:o,publish:t,subscribe:e,on:e,next:i,clear:n};return Object.assign(o,c),Object.assign(r,c),c}function et(s){let t=Ie();return s&&t.sub(s),t.sub}function fe(s){let t=Ie();return s&&t.sub(s),t.pub}function Ve(s){return R.freeze(R.clone(s))}var de=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 r=new Set;this.#s.push(r),this.#r.add(t),r.add(e()),this.#r.delete(t),await Promise.all(r),this.#s.pop()})}#o(t){let e=this.#e.get(t);return e||(e=et(),this.#e.set(t,e)),e}},m=globalThis[Symbol.for("e280.tracker")]??=new de;var v=Symbol("optic");var Ht=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 zt=class s{on=et();[v];#t;#e;#s=jt(()=>this.on.publish(this.state));constructor(t){this[v]=t,this.#t=R.clone(t.getState()),this.#e=new Ht(()=>Ve(t.getState()))}async update(){let t=this[v].getState();!R.equal(t,this.#t)&&(this.#e.invalidate(),this.#t=R.clone(t),this.#s(),await m.notifyWrite(this))}get state(){return m.notifyRead(this),this.#e.get()}async mutate(t){return this[v].mutate(t)}lens(t){let e=new s({getState:()=>t(this[v].getState()),mutate:r=>this[v].mutate(o=>r(t(o))),registerLens:this[v].registerLens});return this[v].registerLens(e),e}};var st=class{sneak;constructor(t){this.sneak=t}get(){return m.notifyRead(this),this.sneak}get value(){return this.get()}};var rt=class extends st{on=et();dispose(){this.on.clear()}};function Dt(s,t=s){let{seen:e,result:r}=m.observe(s),o=jt(t),i=[],n=()=>i.forEach(c=>c());for(let c of e){let a=m.subscribe(c,o);i.push(a)}return{result:r,dispose:n}}function ot(s,t){return s===t}var qt=class extends rt{#t;constructor(t,e){let r=e?.compare??ot,{result:o,dispose:i}=Dt(t,async()=>{let n=t();!r(this.sneak,n)&&(this.sneak=n,await Promise.all([m.notifyWrite(this),this.on.pub(n)]))});super(o),this.#t=i}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 Bt=class extends st{#t;#e;#s=!1;#r;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??ot}toString(){return`($lazy "${String(this.get())}")`}get(){if(!this.#r){let{result:t,dispose:e}=Dt(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,m.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 Wt=class extends rt{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??ot}toString(){return`($signal "${String(this.get())}")`}async set(t,e=!1){let r=this.sneak;return this.sneak=t,(e||!this.#e(r,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([m.notifyWrite(this),this.on.publish(t)])}finally{this.#t=!1}return await e,t}get core(){return this}fn(){let t=this;function e(r){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:r=>t.value=r}),Object.defineProperty(e,"sneak",{get:()=>t.sneak,set:r=>t.sneak=r}),e}};function fs(s,t){return new Bt(s,t).fn()}function ds(s,t){return new qt(s,t).fn()}function x(s,t){return new Wt(s,t).fn()}x.lazy=fs;x.derived=ds;var S=class{#t=new tt;effect(t,e){let{seen:r,result:o}=m.observe(t);for(let i of r)this.#t.guarantee(i,()=>m.subscribe(i,e));for(let[i,n]of this.#t)r.has(i)||(n(),this.#t.delete(i));return o}clear(){for(let t of this.#t.values())t();this.#t.clear()}};var M=class{element;response;#t;constructor(t,e){this.element=t,this.response=e}start(){this.#t||(this.#t=p.attrs(this.element).on(this.response))}stop(){this.#t&&this.#t(),this.#t=void 0}};function It(s,t){_t(s,ys(t))}function ys(s){let t=[];if(Array.isArray(s)){let e=new Set(s.flat(1/0).reverse());for(let r of e)t.unshift(G(r))}else s!==void 0&&t.push(G(s));return t}var B={status:s=>s[0],value:s=>s[0]==="ready"?s[1]:void 0,error:s=>s[0]==="error"?s[1]:void 0,select:(s,t)=>{switch(s[0]){case"loading":return t.loading();case"error":return t.error(s[1]);case"ready":return t.ready(s[1]);default:throw new Error("unknown op status")}},morph:(s,t)=>B.select(s,{loading:()=>["loading"],error:e=>["error",e],ready:e=>["ready",t(e)]}),all:(...s)=>{let t=[],e=[],r=0;for(let o of s)switch(o[0]){case"loading":r++;break;case"ready":t.push(o[1]);break;case"error":e.push(o[1]);break}return e.length>0?["error",e]:r===0?["ready",t]:["loading"]}};var W=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(r=>r.pod);return B.all(...e)}signal;#t=0;#e=fe();#s=fe();constructor(t=["loading"]){this.signal=x(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([r])=>t(r)),this.#s.next().then(([r])=>e(r))})}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 r=await t;return e===this.#t&&await this.setReady(r),r}catch(r){console.error(r),e===this.#t&&await this.setError(r)}}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 B.value(this.signal.get())}get error(){return B.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 B.select(this.signal.get(),t)}morph(t){return B.morph(this.pod,t)}};var Vt=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 Ft=class{#t;constructor(t){this.#t=t.attachInternals().states}[Symbol.iterator](){return this.#t.values()}values(){return this.#t.values()}forEach(t){return this.#t.forEach(t),this}get size(){return this.#t.size}has(t){return this.#t.has(t)}add(...t){for(let e of t)this.#t.add(e);return this}delete(...t){for(let e of t)this.#t.delete(e);return this}clear(){return this.#t.clear(),this}assign(...t){return this.clear().add(...t)}};function Fe(s){let t=p.attrs(s.element);function e(r){return s.once(()=>t.spec(r))}return e.strings=t.strings,e.numbers=t.numbers,e.booleans=t.booleans,e.spec=r=>s.once(()=>t.spec(r)),e.on=r=>s.mount(()=>t.on(r)),e}var I=Symbol(),V=Symbol(),F=Symbol(),N=class{element;shadow;renderNow;render;attrs;#t=0;#e=0;#s=new tt;#r=q();#o=new Vt;[I](t){this.#t++,this.#e=0,this.#r=q();let e=t();return this.#r.resolve(),e}[V](){this.#o.unmountAll()}[F](){this.#o.remountAll()}constructor(t,e,r,o){this.element=t,this.shadow=e,this.renderNow=r,this.render=o,this.attrs=Fe(this)}get renderCount(){return this.#t}get rendered(){return this.#r.promise}name(t){this.once(()=>this.element.setAttribute("view",t))}styles(...t){this.once(()=>It(this.shadow,t))}css(...t){return this.styles(...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[r,o]=t();return e=r,o}),e}wake(t){return this.life(()=>[t(),()=>{}])}events(t){return this.mount(()=>K(this.element,t))}states(){return this.once(()=>new Ft(this.element))}op=(()=>{let t=this;function e(r){return t.once(()=>W.load(r))}return e.load=e,e.promise=r=>this.once(()=>W.promise(r)),e})();signal=(()=>{let t=this;function e(r,o){return t.once(()=>x(r,o))}return e.derived=function(o,i){return t.once(()=>x.derived(o,i))},e.lazy=function(o,i){return t.once(()=>x.lazy(o,i))},e})();derived(t,e){return this.once(()=>x.derived(t,e))}lazy(t,e){return this.once(()=>x.lazy(t,e))}};var E=class extends HTMLElement{static styles;shadow;#t;#e=0;#s=new S;#r=new M(this,()=>this.update());createShadow(){return this.attachShadow({mode:"open"})}constructor(){super(),this.shadow=this.createShadow(),this.#t=new N(this,this.shadow,this.updateNow,this.update)}render(t){}updateNow=()=>{this.#t[I](()=>{p.render(this.shadow,this.#s.effect(()=>this.render(this.#t),this.update))})};update=X(0,this.updateNow);connectedCallback(){if(this.#e===0){let t=this.constructor.styles;t&&It(this.shadow,t),this.updateNow()}else this.#t[F]();this.#r.start(),this.#e++}disconnectedCallback(){this.#t[V](),this.#s.clear(),this.#r.stop()}};function Ge(s,t,e,r){return class extends t{static view=it(r,s);#t=new S;createShadow(){return this.attachShadow(s)}render(i){return r(i)(...this.#t.effect(()=>e(this),()=>this.update()))}}}var{I:da}=Le;var Je=s=>s.strings===void 0;var Ze={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=s=>(...t)=>({_$litDirective$:s,values:t}),Gt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this._$Ct=t,this._$AM=e,this._$Ci=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var yt=(s,t)=>{let e=s._$AN;if(e===void 0)return!1;for(let r of e)r._$AO?.(t,!1),yt(r,t);return!0},Jt=s=>{let t,e;do{if((t=s._$AM)===void 0)break;e=t._$AN,e.delete(s),s=t}while(e?.size===0)},Ke=s=>{for(let t;t=s._$AM;s=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(s))break;e.add(s),$s(t)}};function bs(s){this._$AN!==void 0?(Jt(this),this._$AM=s,Ke(this)):this._$AM=s}function ws(s,t=!1,e=0){let r=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)yt(r[i],!1),Jt(r[i]);else r!=null&&(yt(r,!1),Jt(r));else yt(this,s)}var $s=s=>{s.type==Ze.CHILD&&(s._$AP??=ws,s._$AQ??=bs)},Zt=class extends Gt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),Ke(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(yt(this,t),Jt(this))}setValue(t){if(Je(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(){}};var Kt=class s extends HTMLElement{static#t=!1;static register(){this.#t||(p.register({SlyView:s},{soft:!0,upgrade:!0}),this.#t=!0)}static make(){return this.register(),document.createElement("sly-view")}};var Qt=class{viewFn;settings;#t;#e=new S;#s;#r;#o;#i;constructor(t,e,r){this.viewFn=e,this.settings=r,this.#t=t,this.#r=this.#t.attachShadow(this.settings),this.#s=new N(this.#t,this.#r,this.#n,this.#a),this.#i=new M(this.#t,()=>this.#a())}update(t){return this.#o=t,this.#n(),this.#t}#n=()=>{this.#s[I](()=>{let t=this.#e.effect(()=>this.viewFn(this.#s)(...this.#o.props),()=>this.#a());d.entries(this.#t,this.#o.attrs),p.render(this.#r,t),p.render(this.#t,this.#o.children),this.#i.start()})};#a=X(0,this.#n);disconnected(){this.#s[V](),this.#e.clear(),this.#i.stop()}reconnected(){this.#s[F](),this.#i.start()}};function Qe(s,t){return ge(class extends Zt{#t=Kt.make();#e=new Qt(this.#t,s,t);render(r){return this.#e.update(r)}disconnected(){this.#e.disconnected()}reconnected(){this.#e.reconnected()}})}var Yt=class{props;attrs=new Map;constructor(t){this.props=t}},Xt=class{viewFn;settings;#t;#e=new S;#s;#r;#o;#i;constructor(t,e,r){this.viewFn=e,this.settings=r,this.#t=t,this.#r=this.#t.attachShadow(this.settings),this.#s=new N(this.#t,this.#r,this.#n,this.#a),this.#i=new M(this.#t,()=>this.#a())}update(t){return this.#o=t,this.#n(),this.#t}#n=()=>{this.#s[I](()=>{let t=this.#e.effect(()=>this.viewFn(this.#s)(...this.#o.props),()=>this.#a());d.entries(this.#t,this.#o.attrs),p.render(this.#r,t),this.#i.start()})};#a=X(0,this.#n);disconnected(){this.#s[V](),this.#e.clear(),this.#i.stop()}reconnected(){this.#s[F](),this.#i.start()}};function it(s,t){let e=Qe(s,t);function r(...o){return e(new ft(o))}return r.props=(...o)=>new Nt(new ft(o),e),r.transmute=o=>it(n=>{let c=s(n);return(...a)=>c(...o(...a))},t),r.component=(o=E)=>({props:i=>Ge(t,o,i,s)}),r.naked=o=>{let i=new Xt(o,s,t);return{host:o,render:(...n)=>i.update(new Yt(n))}},r}function w(s){return it(s,{mode:"open"})}w.settings=s=>({render:t=>it(t,s)});w.render=w;w.component=s=>w(t=>()=>s(t)).component(E).props(()=>[]);var C=b`
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Pe=/'/g,Re=/"/g,Me=/^(?:script|style|textarea|title)$/i,pe=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),_=pe(1),pr=pe(2),lr=pe(3),H=Symbol.for("lit-noChange"),y=Symbol.for("lit-nothing"),Oe=new WeakMap,L=U.createTreeWalker(U,129);function Ne(s,t){if(!ue(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ee!==void 0?Ee.createHTML(t):t}var je=(s,t)=>{let e=s.length-1,r=[],o,i=t===2?"<svg>":t===3?"<math>":"",n=ut;for(let c=0;c<e;c++){let a=s[c],u,g,l=-1,$=0;for(;$<a.length&&(n.lastIndex=$,g=n.exec(a),g!==null);)$=n.lastIndex,n===ut?g[1]==="!--"?n=Ce:g[1]!==void 0?n=ke:g[2]!==void 0?(Me.test(g[2])&&(o=RegExp("</"+g[2],"g")),n=j):g[3]!==void 0&&(n=j):n===j?g[0]===">"?(n=o??ut,l=-1):g[1]===void 0?l=-2:(l=n.lastIndex-g[2].length,u=g[1],n=g[3]===void 0?j:g[3]==='"'?Re:Pe):n===Re||n===Pe?n=j:n===Ce||n===ke?n=ut:(n=j,o=void 0);let O=n===j&&s[c+1].startsWith("/>")?" ":"";i+=n===ut?a+hs:l>=0?(r.push(u),a.slice(0,l)+ce+a.slice(l)+P+O):a+P+(l===-2?c:O)}return[Ne(s,i+(s[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]},mt=class s{constructor({strings:t,_$litType$:e},r){let o;this.parts=[];let i=0,n=0,c=t.length-1,a=this.parts,[u,g]=je(t,e);if(this.el=s.createElement(u,r),L.currentNode=this.el.content,e===2||e===3){let l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(o=L.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let l of o.getAttributeNames())if(l.endsWith(ce)){let $=g[n++],O=o.getAttribute(l).split(P),wt=/([.?@])?(.*)/.exec($);a.push({type:1,index:i,name:wt[2],strings:O,ctor:wt[1]==="."?Et:wt[1]==="?"?Ct:wt[1]==="@"?kt:D}),o.removeAttribute(l)}else l.startsWith(P)&&(a.push({type:6,index:i}),o.removeAttribute(l));if(Me.test(o.tagName)){let l=o.textContent.split(P),$=l.length-1;if($>0){o.textContent=vt?vt.emptyScript:"";for(let O=0;O<$;O++)o.append(l[O],pt()),L.nextNode(),a.push({type:2,index:++i});o.append(l[$],pt())}}}else if(o.nodeType===8)if(o.data===he)a.push({type:2,index:i});else{let l=-1;for(;(l=o.data.indexOf(P,l+1))!==-1;)a.push({type:7,index:i}),l+=P.length-1}i++}}static createElement(t,e){let r=U.createElement("template");return r.innerHTML=t,r}};function z(s,t,e=s,r){if(t===H)return t;let o=r!==void 0?e._$Co?.[r]:e._$Cl,i=lt(t)?void 0:t._$litDirective$;return o?.constructor!==i&&(o?._$AO?.(!1),i===void 0?o=void 0:(o=new i(s),o._$AT(s,e,r)),r!==void 0?(e._$Co??=[])[r]=o:e._$Cl=o),o!==void 0&&(t=z(s,o._$AS(s,t.values),o,r)),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:r}=this._$AD,o=(t?.creationScope??U).importNode(e,!0);L.currentNode=o;let i=L.nextNode(),n=0,c=0,a=r[0];for(;a!==void 0;){if(n===a.index){let u;a.type===2?u=new J(i,i.nextSibling,this,t):a.type===1?u=new a.ctor(i,a.name,a.strings,this,t):a.type===6&&(u=new Pt(i,this,t)),this._$AV.push(u),a=r[++c]}n!==a?.index&&(i=L.nextNode(),n++)}return L.currentNode=U,o}p(t){let e=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}},J=class s{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,o){this.type=2,this._$AH=y,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,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=z(this,t,e),lt(t)?t===y||t==null||t===""?(this._$AH!==y&&this._$AR(),this._$AH=y):t!==this._$AH&&t!==H&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Te(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!==y&&lt(this._$AH)?this._$AA.nextSibling.data=t:this.T(U.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:r}=t,o=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=mt.createElement(Ne(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===o)this._$AH.p(e);else{let i=new St(o,this),n=i.u(this.options);i.p(e),this.T(n),this._$AH=i}}_$AC(t){let e=Oe.get(t.strings);return e===void 0&&Oe.set(t.strings,e=new mt(t)),e}k(t){ue(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,r,o=0;for(let i of t)o===e.length?e.push(r=new s(this.O(pt()),this.O(pt()),this,this.options)):r=e[o],r._$AI(i),o++;o<e.length&&(this._$AR(r&&r._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let r=t.nextSibling;t.remove(),t=r}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},D=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,o,i){this.type=1,this._$AH=y,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=i,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=y}_$AI(t,e=this,r,o){let i=this.strings,n=!1;if(i===void 0)t=z(this,t,e,0),n=!lt(t)||t!==this._$AH&&t!==H,n&&(this._$AH=t);else{let c=t,a,u;for(t=i[0],a=0;a<i.length-1;a++)u=z(this,c[r+a],e,a),u===H&&(u=this._$AH[a]),n||=!lt(u)||u!==this._$AH[a],u===y?t=y:t!==y&&(t+=(u??"")+i[a+1]),this._$AH[a]=u}n&&!o&&this.j(t)}j(t){t===y?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Et=class extends D{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===y?void 0:t}},Ct=class extends D{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==y)}},kt=class extends D{constructor(t,e,r,o,i){super(t,e,r,o,i),this.type=5}_$AI(t,e=this){if((t=z(this,t,e,0)??y)===H)return;let r=this._$AH,o=t===y&&r!==y||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,i=t!==y&&(r===y||o);o&&this.element.removeEventListener(this.name,this,r),i&&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,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){z(this,t)}},Le={M:ce,P,A:he,C:1,L:je,R:St,D:Te,V:z,I:J,H:D,N:Ct,U:kt,B:Et,F:Pt},us=ae.litHtmlPolyfillSupport;us?.(mt,J),(ae.litHtmlVersions??=[]).push("3.3.1");var T=(s,t,e)=>{let r=e?.renderBefore??t,o=r._$litPart$;if(o===void 0){let i=e?.renderBefore??null;r._$litPart$=o=new J(t.insertBefore(pt(),i),i,void 0,e??{})}return o._$AI(s),o};var le=globalThis,Z=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=T(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return H}};Z._$litElement$=!0,Z.finalized=!0,le.litElementHydrateSupport?.({LitElement:Z});var ps=le.litElementPolyfillSupport;ps?.({LitElement:Z});(le.litElementVersions??=[]).push("4.2.1");var A={string:(s,t)=>s.getAttribute(t)??void 0,number:(s,t)=>{let e=s.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(s,t)=>s.getAttribute(t)!==null},d={string:(s,t,e)=>(e===void 0?s.removeAttribute(t):s.setAttribute(t,e),!0),number:(s,t,e)=>(e===void 0?s.removeAttribute(t):s.setAttribute(t,e.toString()),!0),boolean:(s,t,e)=>(e?s.setAttribute(t,""):s.removeAttribute(t),!0),any:(s,t,e)=>{e==null?s.removeAttribute(t):typeof e=="string"?s.setAttribute(t,e):typeof e=="number"?s.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?s.setAttribute(t,""):s.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)},entries:(s,t)=>{for(let[e,r]of t)d.any(s,e,r)},record:(s,t)=>d.entries(s,Object.entries(t))};function Ue(s,t={}){let e=document.createElement(s);return d.record(e,t),e}function He(s){let t=document.createDocumentFragment();return T(s,t),t.firstElementChild}function K(s,t){let e=[];for(let[r,o]of Object.entries(t))if(typeof o=="function")s.addEventListener(r,o),e.push(()=>s.removeEventListener(r,o));else{let[i,n]=o;s.addEventListener(r,n,i),e.push(()=>s.removeEventListener(r,n))}return()=>e.forEach(r=>r())}function ze(s,t){let e=new MutationObserver(t);return e.observe(s,{attributes:!0}),()=>e.disconnect()}var De=(s,t)=>new Proxy(t,{get:(e,r)=>{switch(t[r]){case String:return A.string(s,r);case Number:return A.number(s,r);case Boolean:return A.boolean(s,r);default:throw new Error(`invalid attribute type for "${r}"`)}},set:(e,r,o)=>{switch(t[r]){case String:return d.string(s,r,o);case Number:return d.number(s,r,o);case Boolean:return d.boolean(s,r,o);default:throw new Error(`invalid attribute type for "${r}"`)}}});var Rt=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>A.string(this.element,e),set:(t,e,r)=>d.string(this.element,e,r)});numbers=new Proxy({},{get:(t,e)=>A.number(this.element,e),set:(t,e,r)=>d.number(this.element,e,r)});booleans=new Proxy({},{get:(t,e)=>A.boolean(this.element,e),set:(t,e,r)=>d.boolean(this.element,e,r)})};function Q(s){let t=new Rt(s);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>ze(s,e),spec:e=>De(s,e)}}Q.get=A;Q.set=d;function qe(s){return new me(s)}var me=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,r]of Object.entries(t))this.attr(e,r);return this}children(...t){return this.#e.push(...t),this}done(){let t=document.createElement(this.tagName);return d.entries(t,this.#t),t.append(...this.#e),t}};function Y(s,t=document){let e=t.querySelector(s);if(!e)throw new Error(`element not found (${s})`);return e}function Ot(s,t=document){return t.querySelector(s)}function Tt(s,t=document){return Array.from(t.querySelectorAll(s))}var Mt=class s{element;#t;constructor(t){this.element=t}in(t){return new s(typeof t=="string"?Y(t,this.element):t)}require(t){return Y(t,this.element)}maybe(t){return Ot(t,this.element)}all(t){return Tt(t,this.element)}render(...t){return T(t,this.element)}get attrs(){return this.#t??=Q(this.element)}events(t){return K(this.element,t)}};function Be(s){return s.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function We(s,t={}){let{soft:e=!1,upgrade:r=!0}=t;for(let[o,i]of Object.entries(s)){let n=Be(o),c=customElements.get(n);e&&c||(customElements.define(n,i),r&&document.querySelectorAll(n).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function p(s,t=document){return Y(s,t)}p.in=(s,t=document)=>new Mt(t).in(s);p.require=Y;p.maybe=Ot;p.all=Tt;p.el=Ue;p.elmer=qe;p.mk=He;p.events=K;p.attrs=Q;p.register=We;p.render=(s,...t)=>T(t,s);var Nt=class{#t;#e;constructor(t,e){this.#e=t,this.#t=e}attr(t,e=!0){return this.#e.attrs.set(t,e),this}attrs(t){for(let[e,r]of Object.entries(t))this.#e.attrs.set(e,r);return this}children(...t){return this.#e.children.push(...t),this}render(){return this.#t(this.#e)}};var ft=class{props;attrs=new Map;children=[];constructor(t){this.props=t}};function X(s,t){let e,r,o=[];function i(){e=[],r&&clearTimeout(r),r=void 0,o=[]}return i(),((...n)=>{e=n,r&&clearTimeout(r);let c=new Promise((a,u)=>{o.push({resolve:a,reject:u})});return r=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(a=>{for(let{resolve:u}of o)u(a);i()}).catch(a=>{for(let{reject:u}of o)u(a);i()})},s),c})}function q(){let s,t,e=new Promise((o,i)=>{s=o,t=i});function r(o){return o.then(s).catch(t),e}return{promise:e,resolve:s,reject:t,entangle:r}}function jt(s){let t=null;return((...e)=>(t?t.params=e:(t={params:e,deferred:q()},queueMicrotask(()=>{let{params:r,deferred:o}=t;t=null,Promise.resolve(s(...r)).then(o.resolve).catch(o.reject)})),t.deferred.promise))}var R={};re(R,{clone:()=>dt,equal:()=>ls,freeze:()=>ms});function dt(s,t=new Set){if(t.has(s))throw new Error("cannot clone circular reference");let e;return typeof s=="function"||s!==null&&typeof s=="object"?(t.add(s),Array.isArray(s)?e=s.map(r=>dt(r,new Set(t))):s.constructor===Object?e=Object.fromEntries(Object.entries(s).map(([r,o])=>[r,dt(o,new Set(t))])):s instanceof Map?e=new Map(Array.from(s,([r,o])=>[r,dt(o,new Set(t))])):s instanceof Set?e=new Set(Array.from(s,r=>dt(r,new Set(t)))):s instanceof Date?e=new Date(s.getTime()):e=s,t.delete(s)):e=s,e}var gt=Object.freeze({happy:s=>s!=null,sad:s=>s==null,boolean:s=>typeof s=="boolean",number:s=>typeof s=="number",string:s=>typeof s=="string",bigint:s=>typeof s=="bigint",object:s=>typeof s=="object"&&s!==null,array:s=>Array.isArray(s),fn:s=>typeof s=="function",symbol:s=>typeof s=="symbol"});var ls=(s,t)=>{function e(r,o,i){if(!gt.object(r)||!gt.object(o))return r===o;if(i.includes(r))throw new Error("forbidden circularity detected in deep equal comparison");let n=[...i,r];if(r instanceof Map&&o instanceof Map){if(r.size!==o.size)return!1;for(let[c,a]of r)if(!o.has(c)||!e(a,o.get(c),n))return!1}else if(r instanceof Set&&o instanceof Set){if(r.size!==o.size)return!1;for(let c of r)if(!Array.from(o).some(a=>e(c,a,n)))return!1}else{let c=Object.keys(r),a=Object.keys(o);if(c.length!==a.length)return!1;for(let u of c)if(!a.includes(u)||!e(r[u],o[u],n))return!1}return!0}return e(s,t,[])};function ms(s){function t(e,r){if(!gt.object(e)||r.includes(e))return e;let o=[...r,e];if(e instanceof Map)for(let i of e.entries())for(let n of i)t(n,o);else if(e instanceof Set)for(let i of e)t(i,o);else if(Array.isArray(e))for(let i of e)t(i,o);else for(let i of Object.values(e))t(i,o);return Object.freeze(e)}return t(s,[])}var tt=class s 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,r){if(t.has(e))return t.get(e);{let o=r();return t.set(e,o),o}}array(){return[...this]}require(t){return s.require(this,t)}guarantee(t,e){return s.guarantee(this,t,e)}};function Lt(s){let t,e=!1,r=()=>{e=!0,clearTimeout(t)},o=async()=>{e||(await s(r),!e&&(t=setTimeout(o,0)))};return o(),r}var Ut=(s=0)=>new Promise(t=>setTimeout(t,s));function Ie(){let s=new Set;async function t(...a){await Promise.all([...s].map(u=>u(...a)))}function e(a){return s.add(a),()=>{s.delete(a)}}async function r(...a){return t(...a)}function o(a){return e(a)}async function i(a){let{promise:u,resolve:g}=q(),l=o(async(...$)=>{a&&await a(...$),g($),l()});return u}function n(){s.clear()}let c={pub:r,sub:o,publish:t,subscribe:e,on:e,next:i,clear:n};return Object.assign(o,c),Object.assign(r,c),c}function et(s){let t=Ie();return s&&t.sub(s),t.sub}function fe(s){let t=Ie();return s&&t.sub(s),t.pub}function Ve(s){return R.freeze(R.clone(s))}var de=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 r=new Set;this.#s.push(r),this.#r.add(t),r.add(e()),this.#r.delete(t),await Promise.all(r),this.#s.pop()})}#o(t){let e=this.#e.get(t);return e||(e=et(),this.#e.set(t,e)),e}},m=globalThis[Symbol.for("e280.tracker")]??=new de;var v=Symbol("optic");var Ht=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 zt=class s{on=et();[v];#t;#e;#s=jt(()=>this.on.publish(this.state));constructor(t){this[v]=t,this.#t=R.clone(t.getState()),this.#e=new Ht(()=>Ve(t.getState()))}async update(){let t=this[v].getState();!R.equal(t,this.#t)&&(this.#e.invalidate(),this.#t=R.clone(t),this.#s(),await m.notifyWrite(this))}get state(){return m.notifyRead(this),this.#e.get()}async mutate(t){return this[v].mutate(t)}lens(t){let e=new s({getState:()=>t(this[v].getState()),mutate:r=>this[v].mutate(o=>r(t(o))),registerLens:this[v].registerLens});return this[v].registerLens(e),e}};var st=class{sneak;constructor(t){this.sneak=t}get(){return m.notifyRead(this),this.sneak}get value(){return this.get()}};var rt=class extends st{on=et();dispose(){this.on.clear()}};function Dt(s,t=s){let{seen:e,result:r}=m.observe(s),o=jt(t),i=[],n=()=>i.forEach(c=>c());for(let c of e){let a=m.subscribe(c,o);i.push(a)}return{result:r,dispose:n}}function ot(s,t){return s===t}var qt=class extends rt{#t;constructor(t,e){let r=e?.compare??ot,{result:o,dispose:i}=Dt(t,async()=>{let n=t();!r(this.sneak,n)&&(this.sneak=n,await Promise.all([m.notifyWrite(this),this.on.pub(n)]))});super(o),this.#t=i}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 Bt=class extends st{#t;#e;#s=!1;#r;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??ot}toString(){return`($lazy "${String(this.get())}")`}get(){if(!this.#r){let{result:t,dispose:e}=Dt(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,m.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 Wt=class extends rt{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??ot}toString(){return`($signal "${String(this.get())}")`}async set(t,e=!1){let r=this.sneak;return this.sneak=t,(e||!this.#e(r,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([m.notifyWrite(this),this.on.publish(t)])}finally{this.#t=!1}return await e,t}get core(){return this}fn(){let t=this;function e(r){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:r=>t.value=r}),Object.defineProperty(e,"sneak",{get:()=>t.sneak,set:r=>t.sneak=r}),e}};function fs(s,t){return new Bt(s,t).fn()}function ds(s,t){return new qt(s,t).fn()}function x(s,t){return new Wt(s,t).fn()}x.lazy=fs;x.derived=ds;var S=class{#t=new tt;effect(t,e){let{seen:r,result:o}=m.observe(t);for(let i of r)this.#t.guarantee(i,()=>m.subscribe(i,e));for(let[i,n]of this.#t)r.has(i)||(n(),this.#t.delete(i));return o}clear(){for(let t of this.#t.values())t();this.#t.clear()}};var M=class{element;response;#t;constructor(t,e){this.element=t,this.response=e}start(){this.#t||(this.#t=p.attrs(this.element).on(this.response))}stop(){this.#t&&this.#t(),this.#t=void 0}};function It(s,t){_t(s,ys(t))}function ys(s){let t=[];if(Array.isArray(s)){let e=new Set(s.flat(1/0).reverse());for(let r of e)t.unshift(G(r))}else s!==void 0&&t.push(G(s));return t}var B={status:s=>s[0],value:s=>s[0]==="ready"?s[1]:void 0,error:s=>s[0]==="error"?s[1]:void 0,select:(s,t)=>{switch(s[0]){case"loading":return t.loading();case"error":return t.error(s[1]);case"ready":return t.ready(s[1]);default:throw new Error("unknown op status")}},morph:(s,t)=>B.select(s,{loading:()=>["loading"],error:e=>["error",e],ready:e=>["ready",t(e)]}),all:(...s)=>{let t=[],e=[],r=0;for(let o of s)switch(o[0]){case"loading":r++;break;case"ready":t.push(o[1]);break;case"error":e.push(o[1]);break}return e.length>0?["error",e]:r===0?["ready",t]:["loading"]}};var W=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(r=>r.pod);return B.all(...e)}signal;#t=0;#e=fe();#s=fe();constructor(t=["loading"]){this.signal=x(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([r])=>t(r)),this.#s.next().then(([r])=>e(r))})}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 r=await t;return e===this.#t&&await this.setReady(r),r}catch(r){console.error(r),e===this.#t&&await this.setError(r)}}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 B.value(this.signal.get())}get error(){return B.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 B.select(this.signal.get(),t)}morph(t){return B.morph(this.pod,t)}};var Vt=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 Ft=class{#t;constructor(t){this.#t=t.attachInternals().states}[Symbol.iterator](){return this.#t.values()}values(){return this.#t.values()}forEach(t){return this.#t.forEach(t),this}get size(){return this.#t.size}has(t){return this.#t.has(t)}add(...t){for(let e of t)this.#t.add(e);return this}delete(...t){for(let e of t)this.#t.delete(e);return this}clear(){return this.#t.clear(),this}assign(...t){return this.clear().add(...t)}};function Fe(s){let t=p.attrs(s.element);function e(r){return s.once(()=>t.spec(r))}return e.strings=t.strings,e.numbers=t.numbers,e.booleans=t.booleans,e.spec=r=>s.once(()=>t.spec(r)),e.on=r=>s.mount(()=>t.on(r)),e}var I=Symbol(),V=Symbol(),F=Symbol(),N=class{element;shadow;renderNow;render;attrs;#t=0;#e=0;#s=new tt;#r=q();#o=new Vt;[I](t){this.#t++,this.#e=0,this.#r=q();let e=t();return this.#r.resolve(),e}[V](){this.#o.unmountAll()}[F](){this.#o.remountAll()}constructor(t,e,r,o){this.element=t,this.shadow=e,this.renderNow=r,this.render=o,this.attrs=Fe(this)}get renderCount(){return this.#t}get rendered(){return this.#r.promise}name(t){this.once(()=>this.element.setAttribute("view",t))}styles(...t){this.once(()=>It(this.shadow,t))}css(...t){return this.styles(...t)}once(t){return this.#s.guarantee(this.#e++,t)}mount(t){return this.once(()=>this.#o.mount(t))}wake(t){return this.life(()=>[t(),()=>{}])}life(t){let e;return this.mount(()=>{let[r,o]=t();return e=r,o}),e}events(t){return this.mount(()=>K(this.element,t))}states(){return this.once(()=>new Ft(this.element))}op=(()=>{let t=this;function e(r){return t.once(()=>W.load(r))}return e.load=e,e.promise=r=>this.once(()=>W.promise(r)),e})();signal=(()=>{let t=this;function e(r,o){return t.once(()=>x(r,o))}return e.derived=function(o,i){return t.once(()=>x.derived(o,i))},e.lazy=function(o,i){return t.once(()=>x.lazy(o,i))},e})();derived(t,e){return this.once(()=>x.derived(t,e))}lazy(t,e){return this.once(()=>x.lazy(t,e))}};var E=class extends HTMLElement{static styles;shadow;#t;#e=0;#s=new S;#r=new M(this,()=>this.update());createShadow(){return this.attachShadow({mode:"open"})}constructor(){super(),this.shadow=this.createShadow(),this.#t=new N(this,this.shadow,this.updateNow,this.update)}render(t){}updateNow=()=>{this.#t[I](()=>{p.render(this.shadow,this.#s.effect(()=>this.render(this.#t),this.update))})};update=X(0,this.updateNow);connectedCallback(){if(this.#e===0){let t=this.constructor.styles;t&&It(this.shadow,t),this.updateNow()}else this.#t[F]();this.#r.start(),this.#e++}disconnectedCallback(){this.#t[V](),this.#s.clear(),this.#r.stop()}};function Ge(s,t,e,r){return class extends t{static view=it(r,s);#t=new S;createShadow(){return this.attachShadow(s)}render(i){return r(i)(...this.#t.effect(()=>e(this),()=>this.update()))}}}var{I:da}=Le;var Je=s=>s.strings===void 0;var Ze={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=s=>(...t)=>({_$litDirective$:s,values:t}),Gt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this._$Ct=t,this._$AM=e,this._$Ci=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var yt=(s,t)=>{let e=s._$AN;if(e===void 0)return!1;for(let r of e)r._$AO?.(t,!1),yt(r,t);return!0},Jt=s=>{let t,e;do{if((t=s._$AM)===void 0)break;e=t._$AN,e.delete(s),s=t}while(e?.size===0)},Ke=s=>{for(let t;t=s._$AM;s=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(s))break;e.add(s),$s(t)}};function bs(s){this._$AN!==void 0?(Jt(this),this._$AM=s,Ke(this)):this._$AM=s}function ws(s,t=!1,e=0){let r=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)yt(r[i],!1),Jt(r[i]);else r!=null&&(yt(r,!1),Jt(r));else yt(this,s)}var $s=s=>{s.type==Ze.CHILD&&(s._$AP??=ws,s._$AQ??=bs)},Zt=class extends Gt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),Ke(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(yt(this,t),Jt(this))}setValue(t){if(Je(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(){}};var Kt=class s extends HTMLElement{static#t=!1;static register(){this.#t||(p.register({SlyView:s},{soft:!0,upgrade:!0}),this.#t=!0)}static make(){return this.register(),document.createElement("sly-view")}};var Qt=class{viewFn;settings;#t;#e=new S;#s;#r;#o;#i;constructor(t,e,r){this.viewFn=e,this.settings=r,this.#t=t,this.#r=this.#t.attachShadow(this.settings),this.#s=new N(this.#t,this.#r,this.#n,this.#a),this.#i=new M(this.#t,()=>this.#a())}update(t){return this.#o=t,this.#n(),this.#t}#n=()=>{this.#s[I](()=>{let t=this.#e.effect(()=>this.viewFn(this.#s)(...this.#o.props),()=>this.#a());d.entries(this.#t,this.#o.attrs),p.render(this.#r,t),p.render(this.#t,this.#o.children),this.#i.start()})};#a=X(0,this.#n);disconnected(){this.#s[V](),this.#e.clear(),this.#i.stop()}reconnected(){this.#s[F](),this.#i.start()}};function Qe(s,t){return ge(class extends Zt{#t=Kt.make();#e=new Qt(this.#t,s,t);render(r){return this.#e.update(r)}disconnected(){this.#e.disconnected()}reconnected(){this.#e.reconnected()}})}var Yt=class{props;attrs=new Map;constructor(t){this.props=t}},Xt=class{viewFn;settings;#t;#e=new S;#s;#r;#o;#i;constructor(t,e,r){this.viewFn=e,this.settings=r,this.#t=t,this.#r=this.#t.attachShadow(this.settings),this.#s=new N(this.#t,this.#r,this.#n,this.#a),this.#i=new M(this.#t,()=>this.#a())}update(t){return this.#o=t,this.#n(),this.#t}#n=()=>{this.#s[I](()=>{let t=this.#e.effect(()=>this.viewFn(this.#s)(...this.#o.props),()=>this.#a());d.entries(this.#t,this.#o.attrs),p.render(this.#r,t),this.#i.start()})};#a=X(0,this.#n);disconnected(){this.#s[V](),this.#e.clear(),this.#i.stop()}reconnected(){this.#s[F](),this.#i.start()}};function it(s,t){let e=Qe(s,t);function r(...o){return e(new ft(o))}return r.props=(...o)=>new Nt(new ft(o),e),r.transmute=o=>it(n=>{let c=s(n);return(...a)=>c(...o(...a))},t),r.component=(o=E)=>({props:i=>Ge(t,o,i,s)}),r.naked=o=>{let i=new Xt(o,s,t);return{host:o,render:(...n)=>i.update(new Yt(n))}},r}function w(s){return it(s,{mode:"open"})}w.settings=s=>({render:t=>it(t,s)});w.render=w;w.component=s=>w(t=>()=>s(t)).component(E).props(()=>[]);var C=b`
4
4
  @layer reset {
5
5
  * {
6
6
  margin: 0;