@benev/slate
Advanced tools
Comparing version 0.1.0-x.1 to 0.1.0-x.2
{ | ||
"name": "@benev/slate", | ||
"version": "0.1.0-x.1", | ||
"version": "0.1.0-x.2", | ||
"description": "frontend web stuff", | ||
@@ -34,5 +34,5 @@ "license": "MIT", | ||
"npm-run-all": "^4.1.5", | ||
"rollup": "^4.6.1", | ||
"terser": "^5.25.0", | ||
"typescript": "^5.3.2" | ||
"rollup": "^4.7.0", | ||
"terser": "^5.26.0", | ||
"typescript": "^5.3.3" | ||
}, | ||
@@ -39,0 +39,0 @@ "keywords": [ |
229
readme.md
@@ -33,11 +33,12 @@ | ||
1. install slate | ||
1. **install slate** | ||
```sh | ||
npm i @benev/slate | ||
``` | ||
1. prepare your app's frontend and context | ||
1. **create your app's `nexus`** | ||
you'll use the nexus to create components and views which have hard-wired access to your *context* object. | ||
```ts | ||
import {Slate, Context} from "@benev/slate" | ||
import {Nexus, Context} from "@benev/slate" | ||
export const slate = new Slate( | ||
export const nexus = new Nexus( | ||
new class extends Context { | ||
@@ -54,3 +55,3 @@ | ||
// add anything app-level you'd like to make widely available | ||
// add app-level stuff you'd like to make widely available | ||
my_cool_thing = {my_awesome_data: 123} | ||
@@ -60,5 +61,7 @@ } | ||
``` | ||
1. import html and css template functions | ||
1. **import templating functions** | ||
these are augmented versions of `lit`'s templating functions, which directly implement `signals`. | ||
they are fully compatible with lit. | ||
```ts | ||
import {html, css} from "@benev/slate" | ||
import {html, css, svg} from "@benev/slate" | ||
``` | ||
@@ -72,8 +75,7 @@ | ||
### `slate.shadow_component` — *"carbon"* | ||
### `nexus.shadow_component` | ||
```ts | ||
const styles = css`span {color: yellow}` | ||
export const MyCarbon = slate.shadow_component({styles}, use => { | ||
export const MyShadowComponent = nexus.shadow_component(use => { | ||
use.styles(css`span {color: yellow}`) | ||
const count = use.signal(0) | ||
@@ -89,6 +91,6 @@ const increment = () => count.value++ | ||
### `slate.light_component` — *"oxygen"* | ||
### `nexus.light_component` | ||
```ts | ||
export const MyOxygen = slate.light_component(use => { | ||
export const MyLightComponent = nexus.light_component(use => { | ||
const count = use.signal(0) | ||
@@ -111,4 +113,4 @@ const increment = () => count.value++ | ||
register_to_dom({ | ||
MyCarbon, | ||
MyOxygen, | ||
MyShadowComponent, | ||
MyLightComponent, | ||
}) | ||
@@ -119,4 +121,4 @@ ``` | ||
<section> | ||
<my-carbon></my-carbon> | ||
<my-oxygen></my-oxygen> | ||
<my-shadow-component></my-shadow-component> | ||
<my-light-component></my-light-component> | ||
</section> | ||
@@ -134,8 +136,8 @@ ``` | ||
### `slate.shadow_view` — *"obsidian"* | ||
### `nexus.shadow_view` | ||
```ts | ||
const styles = css`span {color: yellow}` | ||
export const MyObsidian = slate.shadow_view({styles}, use => (start: number) => { | ||
export const MyShadowView = nexus.shadow_view(use => (start: number) => { | ||
use.name("my-shadow-view") | ||
use.styles(css`span {color: yellow}`) | ||
const count = use.signal(start) | ||
@@ -152,10 +154,11 @@ const increment = () => count.value++ | ||
- **`auto_exportparts` is enabled by default.** | ||
- auto exportparts is an experimental obsidian feature that makes it bearable to use the shadow dom extensively. | ||
- auto exportparts is an experimental shadow_view feature that makes it bearable to use the shadow dom extensively. | ||
- if auto_exportparts is enabled, and you provide the view a `part` attribute, then it will automatically re-export all internal parts, using the part as a prefix. | ||
- thus, parts can bubble up: each auto_exportparts shadow boundary adds a new hyphenated prefix, so you can do css like `::part(search-input-icon)`. | ||
### `slate.light_view` — *"quartz"* | ||
### `nexus.light_view` | ||
```ts | ||
export const MyQuartz = slate.light_view(use => (start: number) => { | ||
export const MyLightView = nexus.light_view(use => (start: number) => { | ||
use.name("my-light-view") | ||
const count = use.signal(start) | ||
@@ -173,20 +176,12 @@ const increment = () => count.value++ | ||
- **use a quartz view** | ||
- **using a shadow view** | ||
```ts | ||
html`<div>${MyQuartz(123)}</div>` | ||
html`<div>${MyShadowView([123])}</div>` | ||
``` | ||
- quartz views are beautifully simple | ||
- they just take props as arguments | ||
- without any shadow-dom, they have no stylesheet, and without a wrapping element, they have no attributes | ||
- **use an obsidian view** | ||
```ts | ||
html`<div>${MyObsidian([123])}</div>` | ||
``` | ||
- obsidian views need their props wrapped in an array | ||
- when rendered, obsidian views are wrapped in a `<obsidian-view>` component, which is where the shadow root is attached | ||
- obsidian views will accept a settings object | ||
- shadow views need their props wrapped in an array | ||
- shadow views will accept a settings object | ||
```ts | ||
html` | ||
<div> | ||
${MyObsidian([123], { | ||
${MyShadowView([123], { | ||
content: html`<p>slotted content</p>`, | ||
@@ -199,2 +194,11 @@ auto_exportparts: true, | ||
``` | ||
- **using a light view** | ||
```ts | ||
html`<div>${MyLightView(123)}</div>` | ||
``` | ||
- light views are beautifully simple | ||
- they just take props as arguments | ||
- without any shadow-dom, they have no stylesheet, and without a wrapping element, they have no attributes | ||
- note | ||
- all views are rendered into a `<slate-view view="my-name">` component | ||
@@ -205,5 +209,20 @@ <br/> | ||
slate's hooks have the same rules as any other framework's hooks: the order that hooks are executed in matters, so you must not call hooks under an `if` statement or in any kind of `for` loop or anything like that. | ||
### core hooks | ||
- **use.name** ~ *shadow_view, light_view* | ||
assign a stylesheet to the shadow root. | ||
only works on views, because having a name to differentiate views is handy (components have the names they were registered to the dom with). | ||
```ts | ||
use.name("my-cool-view") | ||
``` | ||
- **use.styles** ~ *shadow_view, shadow_component* | ||
assign a stylesheet to the shadow root. | ||
only works on shadow views or components (light views/components are styled from above). | ||
```ts | ||
use.styles(css`span { color: yellow }`) | ||
``` | ||
- **use.state** | ||
works like react useState hook | ||
works like react useState hook. | ||
we actually recommend using signals instead (more on those later). | ||
```ts | ||
@@ -213,2 +232,7 @@ const [count, setCount] = use.state(0) | ||
``` | ||
- **use.prepare** | ||
initialize a value once | ||
```ts | ||
const random_number = use.prepare(() => Math.random()) | ||
``` | ||
- **use.setup** | ||
@@ -222,7 +246,2 @@ perform setup/cleanup on dom connected/disconnected | ||
``` | ||
- **use.prepare** | ||
initialize a value once | ||
```ts | ||
const random_number = use.prepare(() => Math.random()) | ||
``` | ||
- **use.init** | ||
@@ -242,2 +261,12 @@ perform a setup/cleanup, but also return a value | ||
``` | ||
- **use.afterRender** | ||
execute a function everytime a render finishes. | ||
you might want to do this if you need to query for elements you just rendered. | ||
```ts | ||
use.afterRender(() => { | ||
const div = document.querySelector("div") | ||
const rect = div.getBoundingClientRect() | ||
report_rect(rect) | ||
}) | ||
``` | ||
@@ -277,3 +306,14 @@ ### signal hooks | ||
### watch hooks | ||
- **use.watch** | ||
rerender when anything under part of a StateTree is changed. | ||
*todo: document how this works via `watch.stateTree({})`.* | ||
```ts | ||
use.watch(use.context.state.whatever) | ||
``` | ||
### useful accessors | ||
these are not hooks, just access to useful things you may need, so you're allowed to use them under if statements or whatever. | ||
- **use.context** | ||
@@ -285,3 +325,3 @@ access to your app's context, for whatever reason | ||
``` | ||
- **use.element** ~ *carbon, oxygen, obsidian* | ||
- **use.element** | ||
access the underlying html element | ||
@@ -291,3 +331,3 @@ ```ts | ||
``` | ||
- **use.shadow** ~ *carbon, obsidian* | ||
- **use.shadow** ~ *shadow_view, shadow_component* | ||
access to the shadow root | ||
@@ -297,3 +337,3 @@ ```ts | ||
``` | ||
- **use.attrs** ~ *carbon, oxygen* | ||
- **use.attrs** ~ *shadow_component, light_component* | ||
declare accessors for html attributes | ||
@@ -326,4 +366,4 @@ ```ts | ||
gold and silver are "plain" elements, which are alternatives to LitElement. | ||
they're used as primitives underlying our carbon and oxygen components. | ||
for most cases you probably want to stick with carbon/oxygen, and only use gold/silver when you're doing some funky sorcery, or you yearn to go back to a simpler time, without hooks. | ||
they're used as primitives underlying nexus components. | ||
for most cases you probably want to stick with the nexus components, and only use gold/silver when you're doing some funky sorcery, or you yearn to go back to a simpler time without hooks. | ||
@@ -387,7 +427,7 @@ consider these imports for the following examples: | ||
if you want plain elements to have reactivity or have the context's css theme applied, you'll want to run them through `slate.components` before you register them: | ||
if you want plain elements to have reactivity or have the context's css theme applied, you'll want to run them through `nexus.components` before you register them: | ||
```ts | ||
register_to_dom({ | ||
...slate.components({ | ||
...nexus.components({ | ||
MyGold, | ||
@@ -406,3 +446,3 @@ MySilver, | ||
```ts | ||
export const slate = new Slate( | ||
export const nexus = new Nexus( | ||
new class extends Context { | ||
@@ -414,3 +454,3 @@ my_cool_thing = {my_awesome_data: 123} | ||
but since your components are importing `slate`, the above example creates the context *at import-time.* | ||
but since your components are importing `nexus`, the above example creates the context *at import-time.* | ||
@@ -425,4 +465,4 @@ you may instead prefer to *defer* the creation of your context until later, at *run-time:* | ||
// create slate *without yet* instancing the context | ||
export slate = new Slate<MyContext>() | ||
// create nexus *without yet* instancing the context | ||
export const nexus = new Nexus<MyContext>() | ||
@@ -435,3 +475,3 @@ // | ||
// instance and assign your context, now, at runtime | ||
slate.context = new MyContext() | ||
nexus.context = new MyContext() | ||
@@ -447,3 +487,3 @@ // just be sure to assign context *before* you register your components | ||
if you're using slate's frontend components and views, you'll probably be using these utilities via the `use` hooks, which will provide a better developer experience. | ||
if you're using nexus components and views, you'll probably be using these utilities via the `use` hooks, which will provide a better developer experience. | ||
@@ -612,3 +652,3 @@ however, the following utilities are little libraries in their own right, and can be used in a standalone capacity. | ||
``` | ||
- this works on any BaseElement, which includes LitElement, GoldElement, SilverElement, carbon, and oxygen | ||
- this works on any BaseElement, which includes LitElement, GoldElement, SilverElement, ShadowView, and LightView | ||
@@ -659,3 +699,3 @@ <br/> | ||
## 💫 op | ||
## 💫 ops | ||
@@ -681,37 +721,62 @@ utility for ui loading/error/ready states. | ||
``` | ||
- you can run an async operation and keep things synchronized | ||
- check an op's status (proper typescript type guards) | ||
```ts | ||
Op.is.loading(op) | ||
//= false | ||
Op.is.error(op) | ||
//= false | ||
Op.is.ready(op) | ||
//= true | ||
``` | ||
- grab an op's payload (undefined when not ready) | ||
```ts | ||
const count = op.ready(123) | ||
const loadingCount = op.loading() | ||
Op.payload(count) | ||
//= 123 | ||
Op.payload(loadingCount) | ||
//= undefined | ||
``` | ||
- run an async operation which updates an op | ||
```ts | ||
let my_op = Op.loading() | ||
await Op.run(op => my_op = op, async() => { | ||
await nap(1000) | ||
return 123 | ||
}) | ||
await Op.run( | ||
// your setter designates which op to overwrite | ||
op => my_op = op, | ||
// your async function which returns the ready payload | ||
async() => { | ||
await nap(1000) | ||
return 123 | ||
} | ||
) | ||
``` | ||
- you can create op signals that have op functionality built in | ||
- **ops signals integration** — we recommend using ops via `signals.op()` or `use.op()`, the OpSignal these return has nicer ergonomics | ||
```ts | ||
const count = use.op() | ||
const count = signals.op() | ||
count.run(async() => { | ||
// run an async operation | ||
await count.run(async() => { | ||
await sleep(1000) | ||
return 123 | ||
}) | ||
``` | ||
- functions to interrogate an op | ||
```ts | ||
// type for op in any mode | ||
// v | ||
function example(op: Op.Any<number>) { | ||
// branching based on the op's mode | ||
Op.select(op, { | ||
loading: () => console.log("op is loading"), | ||
error: reason => console.log("op is error", reason), | ||
ready: payload => console.log("op is ready", payload) | ||
}) | ||
// check the status of this OpSignal | ||
count.isLoading() //= false | ||
count.isError() //= false | ||
count.isReady() //= true | ||
const payload = Op.payload(op) | ||
// if the mode=ready, return the payload | ||
// otherwise, return undefined | ||
} | ||
// grab the payload (undefined when not ready) | ||
count.payload //= 123 | ||
// directly assign the op signal | ||
count.setLoading() | ||
count.setError("big fail") | ||
count.setReady(123) | ||
``` | ||
@@ -718,0 +783,0 @@ |
import {CSSResultGroup} from "lit" | ||
import * as state from "../../shiny/state.js" | ||
import * as state from "../../nexus/state.js" | ||
@@ -10,3 +10,3 @@ import {mixin} from "./mixin.js" | ||
import {Flat} from "../../flatstate/flat.js" | ||
import {Context} from "../../shiny/context.js" | ||
import {Context} from "../../nexus/context.js" | ||
import {BaseElementClasses} from "../element.js" | ||
@@ -13,0 +13,0 @@ import {SignalTower} from "../../signals/tower.js" |
import {CSSResultGroup} from "lit" | ||
import * as state from "../../shiny/state.js" | ||
import * as state from "../../nexus/state.js" | ||
@@ -6,0 +6,0 @@ import {Lean} from "../../reactor/types.js" |
import {slate} from "../frontend.js" | ||
import {css, html} from "../../shiny/html.js" | ||
import {css, html} from "../../nexus/html.js" | ||
const random = () => Math.ceil(Math.random() * 1000) | ||
const styles = css`button { color: green }` | ||
export const SlateCarbon = slate.shadow_component(use => { | ||
use.styles(css`button { color: green }`) | ||
export const SlateCarbon = slate.shadow_component({styles}, use => { | ||
const x = use.signal(random) | ||
@@ -11,0 +11,0 @@ const randomize = () => x.value = random() |
import {html, css} from "lit" | ||
import {flat} from "../../shiny/state.js" | ||
import {flat} from "../../nexus/state.js" | ||
import {GoldElement} from "../../element/gold.js" | ||
@@ -5,0 +5,0 @@ |
import {slate} from "../frontend.js" | ||
import {html} from "../../shiny/html.js" | ||
import {html} from "../../nexus/html.js" | ||
@@ -5,0 +5,0 @@ export const SlateOxygen = slate.light_component(use => { |
import {CSSResultGroup} from "lit" | ||
import {Slate} from "../shiny/slate.js" | ||
import {Context} from "../shiny/context.js" | ||
import {Nexus} from "../nexus/nexus.js" | ||
import {Context} from "../nexus/context.js" | ||
@@ -12,3 +12,3 @@ export class DemoContext extends Context { | ||
export const slate = new Slate<DemoContext>() | ||
export const slate = new Nexus<DemoContext>() | ||
import {css} from "lit" | ||
import {slate} from "../frontend.js" | ||
import {html} from "../../shiny/html.js" | ||
import {html} from "../../nexus/html.js" | ||
@@ -11,5 +11,7 @@ const styles = css`span { color: green }` | ||
export const NestingOuter = slate.shadow_view({styles}, use => | ||
export const NestingOuter = slate.shadow_view(use => | ||
(start: number) => { | ||
use.styles(styles) | ||
const rendercount = ++outerRenders | ||
@@ -26,5 +28,7 @@ const count = use.signal(start) | ||
export const NestingInner = slate.shadow_view({styles}, use => | ||
export const NestingInner = slate.shadow_view(use => | ||
(start: number) => { | ||
use.styles(styles) | ||
const rendercount = ++innerRenders | ||
@@ -31,0 +35,0 @@ const count = use.signal(start) |
import {css} from "lit" | ||
import {slate} from "../frontend.js" | ||
import {html} from "../../shiny/html.js" | ||
import {html} from "../../nexus/html.js" | ||
const name = "quadrupler" | ||
const styles = css`span { color: yellow }` | ||
export const ObsidianQuadrupler = slate.shadow_view({name, styles}, use => | ||
export const ObsidianQuadrupler = slate.shadow_view(use => | ||
(start: number) => { | ||
use.name("quadrupler") | ||
use.styles(css`span { color: yellow }`) | ||
const count = use.signal(start) | ||
@@ -13,0 +13,0 @@ const increase = () => count.value *= 4 |
import {slate} from "../frontend.js" | ||
import {html} from "../../shiny/html.js" | ||
import {html} from "../../nexus/html.js" | ||
export const QuartzTripler = slate.light_view(use => (start: number) => { | ||
use.name("quartz-tripler") | ||
@@ -7,0 +8,0 @@ // react hooks state |
@@ -13,17 +13,26 @@ | ||
export * from "./shiny/parts/use/tailored.js" | ||
export * from "./shiny/parts/use/parts/helpers.js" | ||
export * from "./shiny/parts/use/parts/types.js" | ||
export * from "./shiny/parts/use/parts/use.js" | ||
export * from "./shiny/parts/types.js" | ||
export * from "./shiny/units/carbon.js" | ||
export * from "./shiny/units/obsidian.js" | ||
export * from "./shiny/units/oxygen.js" | ||
export * from "./shiny/units/quartz.js" | ||
export * from "./shiny/context.js" | ||
export * from "./shiny/html.js" | ||
export * from "./shiny/shell.js" | ||
export * from "./shiny/slate.js" | ||
export * from "./nexus/parts/use/tailored.js" | ||
export * from "./nexus/parts/use/parts/helpers.js" | ||
export * from "./nexus/parts/use/parts/types.js" | ||
export * from "./nexus/parts/use/parts/use.js" | ||
export * from "./nexus/parts/shell.js" | ||
export * from "./nexus/parts/types.js" | ||
export * from "./nexus/units/shadow_component.js" | ||
export * from "./nexus/units/shadow_view.js" | ||
export * from "./nexus/units/light_component.js" | ||
export * from "./nexus/units/light_view.js" | ||
export * from "./nexus/context.js" | ||
export * from "./nexus/html.js" | ||
export * from "./nexus/nexus.js" | ||
export * from "./tools/shockdrop/utils/drag_has_files.js" | ||
export * from "./tools/shockdrop/utils/dragleave_has_exited_current_target.js" | ||
export * from "./tools/shockdrop/utils/dropped_files.js" | ||
export * from "./tools/shockdrop/drag_drop.js" | ||
export * from "./tools/shockdrop/drop.js" | ||
export * from "./tools/fancy_event_listener.js" | ||
export * from "./tools/el.js" | ||
export { | ||
render, | ||
CSSResultGroup, | ||
@@ -33,3 +42,2 @@ CSSResult, | ||
CSSResultArray, | ||
render, | ||
TemplateResult, | ||
@@ -36,0 +44,0 @@ SVGTemplateResult, |
@@ -5,6 +5,6 @@ | ||
export namespace Op { | ||
export type Mode = "loading" | "error" | "ready" | ||
export type Loading = {mode: "loading"} | ||
export type Error = {mode: "error", reason: string} | ||
export type Ready<X> = {mode: "ready", payload: X} | ||
export type Status = "loading" | "error" | "ready" | ||
export type Loading = {status: "loading"} | ||
export type Error = {status: "error", reason: string} | ||
export type Ready<X> = {status: "ready", payload: X} | ||
@@ -14,14 +14,14 @@ export type For<X> = Loading | Error | Ready<X> | ||
export const loading = <X>(): For<X> => ({mode: "loading"}) | ||
export const error = <X>(reason: string): For<X> => ({mode: "error", reason}) | ||
export const ready = <X>(payload: X): For<X> => ({mode: "ready", payload}) | ||
export const loading = <X>(): For<X> => ({status: "loading"}) | ||
export const error = <X>(reason: string): For<X> => ({status: "error", reason}) | ||
export const ready = <X>(payload: X): For<X> => ({status: "ready", payload}) | ||
export const is = Object.freeze({ | ||
loading: (op: For<any>) => op.mode === "loading", | ||
error: (op: For<any>) => op.mode === "error", | ||
ready: (op: For<any>) => op.mode === "ready", | ||
loading: (op: For<any>): op is Op.Loading => op.status === "loading", | ||
error: (op: For<any>): op is Op.Error => op.status === "error", | ||
ready: <X>(op: For<X>): op is Op.Ready<X> => op.status === "ready", | ||
}) | ||
export function payload<X>(op: For<X>) { | ||
return (op.mode === "ready") | ||
return (op.status === "ready") | ||
? op.payload | ||
@@ -31,2 +31,8 @@ : undefined | ||
export function reason<X>(op: For<X>) { | ||
return (op.status === "error") | ||
? op.reason | ||
: undefined | ||
} | ||
export type Choices<X, R> = { | ||
@@ -39,3 +45,3 @@ loading: () => R | ||
export function select<X, R>(op: For<X>, choices: Choices<X, R>) { | ||
switch (op.mode) { | ||
switch (op.status) { | ||
@@ -53,3 +59,3 @@ case "loading": | ||
console.error("op", op) | ||
throw new JsError("invalid op mode") | ||
throw new JsError("invalid op status") | ||
} | ||
@@ -56,0 +62,0 @@ } |
@@ -6,5 +6,7 @@ | ||
type Result = TemplateResult | DirectiveResult | void | ||
export function prep_render_op({loading, error}: { | ||
loading: () => TemplateResult | ||
error: (reason: string) => TemplateResult | ||
loading: () => Result | ||
error: (reason: string) => Result | ||
}) { | ||
@@ -14,3 +16,3 @@ | ||
op: Op.For<X>, | ||
on_ready: (value: X) => TemplateResult | DirectiveResult | void, | ||
on_ready: (value: X) => Result, | ||
) { | ||
@@ -17,0 +19,0 @@ return Op.select(op, { |
@@ -10,3 +10,3 @@ | ||
export * from "./shiny/state.js" | ||
export * from "./nexus/state.js" | ||
@@ -13,0 +13,0 @@ export * from "./signals/parts/circular_error.js" |
@@ -7,4 +7,4 @@ | ||
constructor() { | ||
super(Op.loading()) | ||
constructor(op: Op.For<V>) { | ||
super(op) | ||
} | ||
@@ -31,11 +31,11 @@ | ||
get loading() { | ||
isLoading(): this is Signal<Op.Loading> { | ||
return Op.is.loading(this.value) | ||
} | ||
get error() { | ||
isError(): this is Signal<Op.Error> { | ||
return Op.is.error(this.value) | ||
} | ||
get ready() { | ||
isReady(): this is Signal<Op.Ready<V>> { | ||
return Op.is.ready(this.value) | ||
@@ -45,3 +45,8 @@ } | ||
get payload() { | ||
return Op.payload(this.value) | ||
return Op.payload(this.value) as ( | ||
this extends Signal<Op.Ready<V>> ? V | ||
: this extends Signal<Op.Loading> ? undefined | ||
: this extends Signal<Op.Error> ? undefined | ||
: V | undefined | ||
) | ||
} | ||
@@ -48,0 +53,0 @@ |
@@ -6,4 +6,4 @@ | ||
import {OpSignal} from "./op_signal.js" | ||
import {Lean, ReactorCore} from "../reactor/types.js" | ||
import {LeanTrack, NormalTrack, SignalTracker} from "./parts/tracker.js" | ||
import {Collector, Lean, ReactorCore, Responder} from "../reactor/types.js" | ||
@@ -29,4 +29,4 @@ export class SignalTower implements ReactorCore { | ||
op<V>(): Signal<Op.For<V>> { | ||
const signal = new OpSignal<V>() | ||
op<V>(op: Op.For<V> = Op.loading()) { | ||
const signal = new OpSignal<V>(op) | ||
this.#signals.add(signal) | ||
@@ -42,3 +42,3 @@ return signal | ||
reaction<P>(collector: () => P, responder?: (payload: P) => void) { | ||
reaction<P>(collector: Collector<P>, responder?: Responder<P>) { | ||
const tracker = new SignalTracker({ | ||
@@ -45,0 +45,0 @@ waiters: this.#waiters, |
export const is = { | ||
void: (x: any): x is (undefined | null) => | ||
x === undefined || x === null, | ||
object: <X>(x: X): x is NonNullable<X> & object => | ||
defined: <X>(x: X): x is NonNullable<X> => | ||
x !== undefined && x !== null, | ||
boolean: (x: any): x is boolean => | ||
typeof x === "boolean", | ||
number: (x: any): x is number => | ||
typeof x === "number", | ||
string: (x: any): x is string => | ||
typeof x === "string", | ||
bigint: (x: any): x is bigint => | ||
typeof x === "bigint", | ||
object: <X>(x: X): x is object & NonNullable<X> => | ||
typeof x === "object" && x !== null, | ||
@@ -9,6 +26,3 @@ | ||
Array.isArray(x), | ||
defined: <X>(x: X): x is NonNullable<X> => | ||
x !== undefined && x !== null, | ||
} | ||
import { CSSResultGroup } from "lit"; | ||
import { Flat } from "../../flatstate/flat.js"; | ||
import { Context } from "../../shiny/context.js"; | ||
import { Context } from "../../nexus/context.js"; | ||
import { BaseElementClasses } from "../element.js"; | ||
@@ -5,0 +5,0 @@ import { SignalTower } from "../../signals/tower.js"; |
@@ -1,2 +0,2 @@ | ||
import * as state from "../../shiny/state.js"; | ||
import * as state from "../../nexus/state.js"; | ||
import { mixin } from "./mixin.js"; | ||
@@ -3,0 +3,0 @@ import { ob } from "../../tools/ob.js"; |
@@ -12,3 +12,3 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { | ||
}; | ||
import * as state from "../../shiny/state.js"; | ||
import * as state from "../../nexus/state.js"; | ||
export var mixin; | ||
@@ -15,0 +15,0 @@ (function (mixin) { |
import { slate } from "../frontend.js"; | ||
import { css, html } from "../../shiny/html.js"; | ||
import { css, html } from "../../nexus/html.js"; | ||
const random = () => Math.ceil(Math.random() * 1000); | ||
const styles = css `button { color: green }`; | ||
export const SlateCarbon = slate.shadow_component({ styles }, use => { | ||
export const SlateCarbon = slate.shadow_component(use => { | ||
use.styles(css `button { color: green }`); | ||
const x = use.signal(random); | ||
@@ -7,0 +7,0 @@ const randomize = () => x.value = random(); |
@@ -8,3 +8,3 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { | ||
import { html, css } from "lit"; | ||
import { flat } from "../../shiny/state.js"; | ||
import { flat } from "../../nexus/state.js"; | ||
import { GoldElement } from "../../element/gold.js"; | ||
@@ -11,0 +11,0 @@ export class SlateGold extends GoldElement { |
export declare const SlateOxygen: { | ||
new (): { | ||
[x: string]: any; | ||
"__#33@#use": import("../../index.js").UseOxygen<import("../frontend.js").DemoContext>; | ||
"__#33@#use": import("../../index.js").UseLightComponent<import("../frontend.js").DemoContext>; | ||
"__#33@#rend": () => void | import("lit-html").TemplateResult; | ||
"__#33@#reactivity"?: import("../../shiny/parts/setup_reactivity.js").Reactivity<[]> | undefined; | ||
"__#33@#reactivity"?: import("../../nexus/parts/setup_reactivity.js").Reactivity<[]> | undefined; | ||
render(): void | import("lit-html").TemplateResult | undefined; | ||
@@ -8,0 +8,0 @@ connectedCallback(): void; |
import { slate } from "../frontend.js"; | ||
import { html } from "../../shiny/html.js"; | ||
import { html } from "../../nexus/html.js"; | ||
export const SlateOxygen = slate.light_component(use => { | ||
@@ -4,0 +4,0 @@ const count = use.signal(256); |
import { CSSResultGroup } from "lit"; | ||
import { Slate } from "../shiny/slate.js"; | ||
import { Context } from "../shiny/context.js"; | ||
import { Nexus } from "../nexus/nexus.js"; | ||
import { Context } from "../nexus/context.js"; | ||
export declare class DemoContext extends Context { | ||
@@ -8,2 +8,2 @@ theme: CSSResultGroup; | ||
} | ||
export declare const slate: Slate<DemoContext>; | ||
export declare const slate: Nexus<DemoContext>; |
@@ -1,3 +0,3 @@ | ||
import { Slate } from "../shiny/slate.js"; | ||
import { Context } from "../shiny/context.js"; | ||
import { Nexus } from "../nexus/nexus.js"; | ||
import { Context } from "../nexus/context.js"; | ||
export class DemoContext extends Context { | ||
@@ -9,3 +9,3 @@ constructor(theme) { | ||
} | ||
export const slate = new Slate(); | ||
export const slate = new Nexus(); | ||
//# sourceMappingURL=frontend.js.map |
import { css } from "lit"; | ||
import { slate } from "../frontend.js"; | ||
import { html } from "../../shiny/html.js"; | ||
import { html } from "../../nexus/html.js"; | ||
const styles = css `span { color: green }`; | ||
let outerRenders = 0; | ||
let innerRenders = 0; | ||
export const NestingOuter = slate.shadow_view({ styles }, use => (start) => { | ||
export const NestingOuter = slate.shadow_view(use => (start) => { | ||
use.styles(styles); | ||
const rendercount = ++outerRenders; | ||
@@ -17,3 +18,4 @@ const count = use.signal(start); | ||
}); | ||
export const NestingInner = slate.shadow_view({ styles }, use => (start) => { | ||
export const NestingInner = slate.shadow_view(use => (start) => { | ||
use.styles(styles); | ||
const rendercount = ++innerRenders; | ||
@@ -20,0 +22,0 @@ const count = use.signal(start); |
import { css } from "lit"; | ||
import { slate } from "../frontend.js"; | ||
import { html } from "../../shiny/html.js"; | ||
const name = "quadrupler"; | ||
const styles = css `span { color: yellow }`; | ||
export const ObsidianQuadrupler = slate.shadow_view({ name, styles }, use => (start) => { | ||
import { html } from "../../nexus/html.js"; | ||
export const ObsidianQuadrupler = slate.shadow_view(use => (start) => { | ||
use.name("quadrupler"); | ||
use.styles(css `span { color: yellow }`); | ||
const count = use.signal(start); | ||
@@ -8,0 +8,0 @@ const increase = () => count.value *= 4; |
import { slate } from "../frontend.js"; | ||
import { html } from "../../shiny/html.js"; | ||
import { html } from "../../nexus/html.js"; | ||
export const QuartzTripler = slate.light_view(use => (start) => { | ||
use.name("quartz-tripler"); | ||
// react hooks state | ||
@@ -5,0 +6,0 @@ const [alpha, setAlpha] = use.state(start); |
@@ -9,17 +9,24 @@ export * from "./pure.js"; | ||
export * from "./element/silver.js"; | ||
export * from "./shiny/parts/use/tailored.js"; | ||
export * from "./shiny/parts/use/parts/helpers.js"; | ||
export * from "./shiny/parts/use/parts/types.js"; | ||
export * from "./shiny/parts/use/parts/use.js"; | ||
export * from "./shiny/parts/types.js"; | ||
export * from "./shiny/units/carbon.js"; | ||
export * from "./shiny/units/obsidian.js"; | ||
export * from "./shiny/units/oxygen.js"; | ||
export * from "./shiny/units/quartz.js"; | ||
export * from "./shiny/context.js"; | ||
export * from "./shiny/html.js"; | ||
export * from "./shiny/shell.js"; | ||
export * from "./shiny/slate.js"; | ||
export { CSSResultGroup, CSSResult, CSSResultOrNative, CSSResultArray, render, TemplateResult, SVGTemplateResult, RenderOptions, Disconnectable, } from "lit"; | ||
export * from "./nexus/parts/use/tailored.js"; | ||
export * from "./nexus/parts/use/parts/helpers.js"; | ||
export * from "./nexus/parts/use/parts/types.js"; | ||
export * from "./nexus/parts/use/parts/use.js"; | ||
export * from "./nexus/parts/shell.js"; | ||
export * from "./nexus/parts/types.js"; | ||
export * from "./nexus/units/shadow_component.js"; | ||
export * from "./nexus/units/shadow_view.js"; | ||
export * from "./nexus/units/light_component.js"; | ||
export * from "./nexus/units/light_view.js"; | ||
export * from "./nexus/context.js"; | ||
export * from "./nexus/html.js"; | ||
export * from "./nexus/nexus.js"; | ||
export * from "./tools/shockdrop/utils/drag_has_files.js"; | ||
export * from "./tools/shockdrop/utils/dragleave_has_exited_current_target.js"; | ||
export * from "./tools/shockdrop/utils/dropped_files.js"; | ||
export * from "./tools/shockdrop/drag_drop.js"; | ||
export * from "./tools/shockdrop/drop.js"; | ||
export * from "./tools/fancy_event_listener.js"; | ||
export * from "./tools/el.js"; | ||
export { render, CSSResultGroup, CSSResult, CSSResultOrNative, CSSResultArray, TemplateResult, SVGTemplateResult, RenderOptions, Disconnectable, } from "lit"; | ||
export { AsyncDirective } from "lit/async-directive.js"; | ||
export { DirectiveClass, DirectiveResult, PartInfo } from "lit/directive.js"; |
@@ -9,17 +9,24 @@ export * from "./pure.js"; | ||
export * from "./element/silver.js"; | ||
export * from "./shiny/parts/use/tailored.js"; | ||
export * from "./shiny/parts/use/parts/helpers.js"; | ||
export * from "./shiny/parts/use/parts/types.js"; | ||
export * from "./shiny/parts/use/parts/use.js"; | ||
export * from "./shiny/parts/types.js"; | ||
export * from "./shiny/units/carbon.js"; | ||
export * from "./shiny/units/obsidian.js"; | ||
export * from "./shiny/units/oxygen.js"; | ||
export * from "./shiny/units/quartz.js"; | ||
export * from "./shiny/context.js"; | ||
export * from "./shiny/html.js"; | ||
export * from "./shiny/shell.js"; | ||
export * from "./shiny/slate.js"; | ||
export { CSSResult, render, } from "lit"; | ||
export * from "./nexus/parts/use/tailored.js"; | ||
export * from "./nexus/parts/use/parts/helpers.js"; | ||
export * from "./nexus/parts/use/parts/types.js"; | ||
export * from "./nexus/parts/use/parts/use.js"; | ||
export * from "./nexus/parts/shell.js"; | ||
export * from "./nexus/parts/types.js"; | ||
export * from "./nexus/units/shadow_component.js"; | ||
export * from "./nexus/units/shadow_view.js"; | ||
export * from "./nexus/units/light_component.js"; | ||
export * from "./nexus/units/light_view.js"; | ||
export * from "./nexus/context.js"; | ||
export * from "./nexus/html.js"; | ||
export * from "./nexus/nexus.js"; | ||
export * from "./tools/shockdrop/utils/drag_has_files.js"; | ||
export * from "./tools/shockdrop/utils/dragleave_has_exited_current_target.js"; | ||
export * from "./tools/shockdrop/utils/dropped_files.js"; | ||
export * from "./tools/shockdrop/drag_drop.js"; | ||
export * from "./tools/shockdrop/drop.js"; | ||
export * from "./tools/fancy_event_listener.js"; | ||
export * from "./tools/el.js"; | ||
export { render, CSSResult, } from "lit"; | ||
export { AsyncDirective } from "lit/async-directive.js"; | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
Array.prototype.at=function(t){return t>=0?this[t]:this[this.length+t]};const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const r=this.t;if(e&&void 0===t){const e=void 0!==r&&1===r.length;e&&(t=s.get(r)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(r,t))}return t}toString(){return this.cssText}};const i=(t,...e)=>{const s=1===t.length?t[0]:e.reduce(((e,r,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+t[s+1]),t[0]);return new n(s,t,r)},o=(r,s)=>{if(e)r.adoptedStyleSheets=s.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,r.appendChild(s)}},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,r))(e)})(t):t,{is:c,defineProperty:h,getOwnPropertyDescriptor:l,getOwnPropertyNames:d,getOwnPropertySymbols:f,getPrototypeOf:u}=Object,p=globalThis,w=p.trustedTypes,v=w?w.emptyScript:"",m=p.reactiveElementPolyfillSupport,y=(t,e)=>t,b={toAttribute(t,e){switch(e){case Boolean:t=t?v:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},g=(t,e)=>!c(t,e),$={attribute:!0,type:String,converter:b,reflect:!1,hasChanged:g};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;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=$){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),s=this.getPropertyDescriptor(t,r,e);void 0!==s&&h(this.prototype,t,s)}}static getPropertyDescriptor(t,e,r){const{get:s,set:n}=l(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return s?.call(this)},set(e){const i=s?.call(this);n.call(this,e),this.requestUpdate(t,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$}static _$Ei(){if(this.hasOwnProperty(y("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(y("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(y("properties"))){const t=this.properties,e=[...d(t),...f(t)];for(const r of e)this.createProperty(r,t[r])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,r]of e)this.elementProperties.set(t,r)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const r=this._$Eu(t,e);void 0!==r&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$ES??=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$ES?.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return o(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$ES?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EO(t,e){const r=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,r);if(void 0!==s&&!0===r.reflect){const n=(void 0!==r.converter?.toAttribute?r.converter:b).toAttribute(e,r.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const r=this.constructor,s=r._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=r.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:b;this._$Em=s,this[s]=n.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,r,s=!1,n){if(void 0!==t){if(r??=this.constructor.getPropertyOptions(t),!(r.hasChanged??g)(s?n:this[t],e))return;this.C(t,e,r)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,e,r){this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,r]of t)!0!==r.wrapped||this._$AL.has(e)||void 0===this[e]||this.C(e,this[e],r)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$ES?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$ET()}catch(e){throw t=!1,this._$ET(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$ES?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}_.elementStyles=[],_.shadowRootOptions={mode:"open"},_[y("elementProperties")]=new Map,_[y("finalized")]=new Map,m?.({ReactiveElement:_}),(p.reactiveElementVersions??=[]).push("2.0.0");const E=globalThis,A=E.trustedTypes,k=A?A.createPolicy("lit-html",{createHTML:t=>t}):void 0,T="$lit$",C=`lit$${(Math.random()+"").slice(9)}$`,M="?"+C,P=`<${M}>`,S=document,x=()=>S.createComment(""),W=t=>null===t||"object"!=typeof t&&"function"!=typeof t,j=Array.isArray,U="[ \t\n\f\r]",O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,N=/-->/g,H=/>/g,z=RegExp(`>|${U}(?:([^\\s"'>=/]+)(${U}*=${U}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),R=/'/g,q=/"/g,D=/^(?:script|style|textarea|title)$/i,L=(t=>(e,...r)=>({_$litType$:t,strings:e,values:r}))(1),B=Symbol.for("lit-noChange"),I=Symbol.for("lit-nothing"),V=new WeakMap,Z=S.createTreeWalker(S,129);function J(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==k?k.createHTML(e):e}const K=(t,e)=>{const r=t.length-1,s=[];let n,i=2===e?"<svg>":"",o=O;for(let e=0;e<r;e++){const r=t[e];let a,c,h=-1,l=0;for(;l<r.length&&(o.lastIndex=l,c=o.exec(r),null!==c);)l=o.lastIndex,o===O?"!--"===c[1]?o=N:void 0!==c[1]?o=H:void 0!==c[2]?(D.test(c[2])&&(n=RegExp("</"+c[2],"g")),o=z):void 0!==c[3]&&(o=z):o===z?">"===c[0]?(o=n??O,h=-1):void 0===c[1]?h=-2:(h=o.lastIndex-c[2].length,a=c[1],o=void 0===c[3]?z:'"'===c[3]?q:R):o===q||o===R?o=z:o===N||o===H?o=O:(o=z,n=void 0);const d=o===z&&t[e+1].startsWith("/>")?" ":"";i+=o===O?r+P:h>=0?(s.push(a),r.slice(0,h)+T+r.slice(h)+C+d):r+C+(-2===h?e:d)}return[J(t,i+(t[r]||"<?>")+(2===e?"</svg>":"")),s]};class G{constructor({strings:t,_$litType$:e},r){let s;this.parts=[];let n=0,i=0;const o=t.length-1,a=this.parts,[c,h]=K(t,e);if(this.el=G.createElement(c,r),Z.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=Z.nextNode())&&a.length<o;){if(1===s.nodeType){if(s.hasAttributes())for(const t of s.getAttributeNames())if(t.endsWith(T)){const e=h[i++],r=s.getAttribute(t).split(C),o=/([.?@])?(.*)/.exec(e);a.push({type:1,index:n,name:o[2],strings:r,ctor:"."===o[1]?tt:"?"===o[1]?et:"@"===o[1]?rt:Y}),s.removeAttribute(t)}else t.startsWith(C)&&(a.push({type:6,index:n}),s.removeAttribute(t));if(D.test(s.tagName)){const t=s.textContent.split(C),e=t.length-1;if(e>0){s.textContent=A?A.emptyScript:"";for(let r=0;r<e;r++)s.append(t[r],x()),Z.nextNode(),a.push({type:2,index:++n});s.append(t[e],x())}}}else if(8===s.nodeType)if(s.data===M)a.push({type:2,index:n});else{let t=-1;for(;-1!==(t=s.data.indexOf(C,t+1));)a.push({type:7,index:n}),t+=C.length-1}n++}}static createElement(t,e){const r=S.createElement("template");return r.innerHTML=t,r}}function Q(t,e,r=t,s){if(e===B)return e;let n=void 0!==s?r._$Co?.[s]:r._$Cl;const i=W(e)?void 0:e._$litDirective$;return n?.constructor!==i&&(n?._$AO?.(!1),void 0===i?n=void 0:(n=new i(t),n._$AT(t,r,s)),void 0!==s?(r._$Co??=[])[s]=n:r._$Cl=n),void 0!==n&&(e=Q(t,n._$AS(t,e.values),n,s)),e}class F{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){const{el:{content:e},parts:r}=this._$AD,s=(t?.creationScope??S).importNode(e,!0);Z.currentNode=s;let n=Z.nextNode(),i=0,o=0,a=r[0];for(;void 0!==a;){if(i===a.index){let e;2===a.type?e=new X(n,n.nextSibling,this,t):1===a.type?e=new a.ctor(n,a.name,a.strings,this,t):6===a.type&&(e=new st(n,this,t)),this._$AV.push(e),a=r[++o]}i!==a?.index&&(n=Z.nextNode(),i++)}return Z.currentNode=S,s}p(t){let e=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class X{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,s){this.type=2,this._$AH=I,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=Q(this,t,e),W(t)?t===I||null==t||""===t?(this._$AH!==I&&this._$AR(),this._$AH=I):t!==this._$AH&&t!==B&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>j(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==I&&W(this._$AH)?this._$AA.nextSibling.data=t:this.$(S.createTextNode(t)),this._$AH=t}g(t){const{values:e,_$litType$:r}=t,s="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=G.createElement(J(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new F(s,this),r=t.u(this.options);t.p(e),this.$(r),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new G(t)),e}T(t){j(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,s=0;for(const n of t)s===e.length?e.push(r=new X(this.k(x()),this.k(x()),this,this.options)):r=e[s],r._$AI(n),s++;s<e.length&&(this._$AR(r&&r._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class Y{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,s,n){this.type=1,this._$AH=I,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=n,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=I}_$AI(t,e=this,r,s){const n=this.strings;let i=!1;if(void 0===n)t=Q(this,t,e,0),i=!W(t)||t!==this._$AH&&t!==B,i&&(this._$AH=t);else{const s=t;let o,a;for(t=n[0],o=0;o<n.length-1;o++)a=Q(this,s[r+o],e,o),a===B&&(a=this._$AH[o]),i||=!W(a)||a!==this._$AH[o],a===I?t=I:t!==I&&(t+=(a??"")+n[o+1]),this._$AH[o]=a}i&&!s&&this.O(t)}O(t){t===I?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class tt extends Y{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===I?void 0:t}}class et extends Y{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==I)}}class rt extends Y{constructor(t,e,r,s,n){super(t,e,r,s,n),this.type=5}_$AI(t,e=this){if((t=Q(this,t,e,0)??I)===B)return;const r=this._$AH,s=t===I&&r!==I||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,n=t!==I&&(r===I||s);s&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class st{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){Q(this,t)}}const nt=E.litHtmlPolyfillSupport;nt?.(G,X),(E.litHtmlVersions??=[]).push("3.1.0");const it=(t,e,r)=>{const s=r?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=r?.renderBefore??null;s._$litPart$=n=new X(e.insertBefore(x(),t),t,void 0,r??{})}return n._$AI(t),n};let ot=class extends _{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=it(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return B}};ot._$litElement$=!0,ot.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:ot});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:ot}),(globalThis.litElementVersions??=[]).push("4.0.0");var ct,ht=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},lt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class dt{constructor(){ct.set(this,!1)}lock(t){ht(this,ct,!0,"f");const e=t();return ht(this,ct,!1,"f"),e}get locked(){return lt(this,ct,"f")}}ct=new WeakMap;const ft=()=>new Map,ut=()=>new Set;function pt(t){return new wt(t)}class wt{constructor(t){this.map=t}grab(t,e){const{map:r}=this;if(r.has(t))return r.get(t);{const s=e();return r.set(t,s),s}}}var vt,mt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},yt=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class bt{constructor(){vt.set(this,new WeakMap)}grab_keymap(t){const e=pt(mt(this,vt,"f")).grab(t,ft);return{keymap:e,grab_symbolmap:t=>pt(e).grab(t,ft)}}clear(){yt(this,vt,new WeakMap,"f")}}vt=new WeakMap;var gt,$t=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class _t{constructor(){gt.set(this,new Map)}stop(t){const e=$t(this,gt,"f").get(t);e&&($t(this,gt,"f").delete(t),e())}add(t,e){$t(this,gt,"f").set(t,e)}}gt=new WeakMap;var Et,At=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class kt{constructor(){Et.set(this,[])}record(t){const e=ft();At(this,Et,"f").push(e);const r=t();return At(this,Et,"f").pop(),{payload:r,recording:e}}record_that_key_was_accessed(t,e){const r=At(this,Et,"f").at(-1);if(r){pt(r).grab(t,ut).add(e)}}}Et=new WeakMap;class Tt extends Error{constructor(){super(...arguments),this.name=this.constructor.name}}class Ct extends Tt{constructor(t){super(`forbidden circularity, rejected assignment to "${t}"`)}}class Mt extends Tt{constructor(t){super(`forbidden assignment to readonly property "${t}"`)}}function Pt(t,e){let r,s,n=[];function i(){r=[],s&&clearTimeout(s),s=void 0,n=[]}return i(),(...o)=>{r=o,s&&clearTimeout(s);const a=new Promise(((t,e)=>{n.push({resolve:t,reject:e})}));return s=setTimeout((()=>{Promise.resolve().then((()=>e(...r))).then((t=>{for(const{resolve:e}of n)e(t);i()})).catch((t=>{for(const{reject:e}of n)e(t);i()}))}),t),a}}var St,xt,Wt,jt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Ut=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class Ot{constructor(){St.set(this,new Map),xt.set(this,Promise.resolve()),Wt.set(this,Pt(0,(()=>{const t=[...jt(this,St,"f").values()];jt(this,St,"f").clear();for(const e of t)e()})))}get wait(){return jt(this,xt,"f")}add(t,e){jt(this,St,"f").set(t,e),Ut(this,xt,jt(this,Wt,"f").call(this),"f")}}function Nt(t,e,r,s){const n=[];for(const[i,o]of e){const{grab_symbolmap:e}=r.grab_keymap(i);for(const r of o){const i=e(r);i.set(t,s),n.push((()=>i.delete(t)))}}return()=>n.forEach((t=>t()))}St=new WeakMap,xt=new WeakMap,Wt=new WeakMap;var Ht,zt,Rt,qt,Dt,Lt,Bt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class It{constructor(){Ht.set(this,new bt),zt.set(this,new kt),Rt.set(this,new dt),qt.set(this,new _t),Dt.set(this,new Ot),Lt.set(this,function(t,e,r,s,n){function i([r,n]){if("lean"in n)n.actor();else{const{payload:i,recording:o}=e.record(n.collector);s.add(r,Nt(r,o,t,n)),n.responder&&n.responder(i)}}return{get:(t,r)=>(e.record_that_key_was_accessed(t,r),t[r]),set:(e,s,o)=>{if(r.locked)throw new Ct(s);e[s]=o;const a=[...t.grab_keymap(e).grab_symbolmap(s)];for(const t of a){const[e]=t;n.add(e,(()=>r.lock((()=>i(t)))))}return!0}}}(Bt(this,Ht,"f"),Bt(this,zt,"f"),Bt(this,Rt,"f"),Bt(this,qt,"f"),Bt(this,Dt,"f")))}get wait(){return Bt(this,Dt,"f").wait}state(t){return new Proxy(t,Bt(this,Lt,"f"))}reaction(t,e){const r=Symbol(),{recording:s}=Bt(this,zt,"f").record((()=>Bt(this,Rt,"f").lock(t)));return Bt(this,qt,"f").add(r,Nt(r,s,Bt(this,Ht,"f"),{collector:t,responder:e})),()=>Bt(this,qt,"f").stop(r)}lean(t){const e=Symbol();return{stop:()=>Bt(this,qt,"f").stop(e),collect:r=>{const{payload:s,recording:n}=Bt(this,zt,"f").record((()=>Bt(this,Rt,"f").lock(r)));return Bt(this,qt,"f").add(e,Nt(e,n,Bt(this,Ht,"f"),{lean:!0,actor:t})),s}}}clear(){Bt(this,Ht,"f").clear()}}Ht=new WeakMap,zt=new WeakMap,Rt=new WeakMap,qt=new WeakMap,Dt=new WeakMap,Lt=new WeakMap,It.readonly=function(t){return new Proxy(t,{get:(t,e)=>t[e],set(t,e){throw new Mt(e)}})},It.collectivize=function(t){return function(e){return()=>{const r="function"==typeof t?t():t;return e(r)}}};var Vt,Zt=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},Jt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class Kt{constructor(t){Vt.set(this,void 0),Zt(this,Vt,t,"f")}get state(){return Jt(this,Vt,"f").getter(Jt(this,Vt,"f").parent.state)}transmute(t){Jt(this,Vt,"f").parent.transmute((e=>{const r=Jt(this,Vt,"f").getter(e),s=t(r);return Jt(this,Vt,"f").setter(e,s)}))}slice({getter:t,setter:e}){return new Kt({parent:this,getter:t,setter:e})}}Vt=new WeakMap;const Gt=t=>"object"==typeof t&&null!==t;const Qt={equal:(t,e)=>function t(e,r,s){if(!Gt(e)||!Gt(r))return e===r;if(s.includes(e))throw new Error("forbidden circularity detected in deep equal comparison");const n=[...s,e];if(e instanceof Map&&r instanceof Map){if(e.size!==r.size)return!1;for(const[s,i]of e)if(!r.has(s)||!t(i,r.get(s),n))return!1}else if(e instanceof Set&&r instanceof Set){if(e.size!==r.size)return!1;for(const s of e)if(!Array.from(r).some((e=>t(s,e,n))))return!1}else{const s=Object.keys(e),i=Object.keys(r);if(s.length!==i.length)return!1;for(const o of s){if(!i.includes(o))return!1;if(!t(e[o],r[o],n))return!1}}return!0}(t,e,[]),freeze:function(t){return function t(e,r){if(!Gt(e)||r.includes(e))return e;const s=[...r,e];if(e instanceof Map)for(const r of e.entries())for(const e of r)t(e,s);else if(e instanceof Set)for(const r of e)t(r,s);else if(Array.isArray(e))for(const r of e)t(r,s);else for(const r of Object.values(e))t(r,s);return Object.freeze(e)}(t,[])}};var Ft,Xt,Yt,te,ee,re,se=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},ne=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class ie{constructor(t,e=(()=>{})){Ft.add(this),Xt.set(this,void 0),Yt.set(this,void 0),te.set(this,void 0),ee.set(this,!1),ne(this,Xt,structuredClone(t),"f"),ne(this,Yt,se(this,Ft,"m",re).call(this),"f"),ne(this,te,e,"f")}get state(){return se(this,Yt,"f")}transmute(t){if(se(this,ee,"f"))throw new Error("circular error");ne(this,ee,!0,"f"),ne(this,Xt,t(structuredClone(se(this,Xt,"f"))),"f"),ne(this,Yt,se(this,Ft,"m",re).call(this),"f"),se(this,te,"f").call(this),ne(this,ee,!1,"f")}slice({getter:t,setter:e}){return new Kt({parent:this,getter:t,setter:e})}}Xt=new WeakMap,Yt=new WeakMap,te=new WeakMap,ee=new WeakMap,Ft=new WeakSet,re=function(){return Qt.freeze(structuredClone(se(this,Xt,"f")))};var oe,ae,ce,he,le=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},de=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};oe=new WeakMap,ae=new WeakMap,ce=new WeakMap,he=new WeakMap;var fe,ue,pe=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};fe=new WeakMap,function(t){var e;t.map=(t,e)=>Object.fromEntries(Object.entries(t).map((([t,r])=>[t,e(r,t)]))),t.filter=(t,e)=>Object.fromEntries(Object.entries(t).filter((([t,r])=>e(r,t)))),(e=t.pipe||(t.pipe={})).map=e=>r=>t.map(r,e),e.filter=e=>r=>t.filter(r,e)}(ue||(ue={}));const we=Symbol();class ve extends Error{constructor(){super(...arguments),this.name=this.constructor.name}}var me,ye,be,ge,$e,_e,Ee=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},Ae=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class ke{constructor(t){me.set(this,void 0),ye.set(this,!1),be.set(this,void 0),ge.set(this,new Set),this[_e]=!1,$e.set(this,Pt(0,(()=>{const t=Ae(this,me,"f");Ee(this,ye,!0,"f");for(const e of Ae(this,ge,"f"))e(t);return Ee(this,ye,!1,"f"),t}))),Ee(this,me,t,"f"),Ee(this,be,Promise.resolve(t),"f")}subscribe(t){return Ae(this,ge,"f").add(t),()=>{Ae(this,ge,"f").delete(t)}}once(t){const e=r=>{t(r),Ae(this,ge,"f").delete(e)};return Ae(this,ge,"f").add(e),()=>{Ae(this,ge,"f").delete(e)}}clear(){return Ae(this,ge,"f").clear()}async publish(){Ee(this,be,Ae(this,$e,"f").call(this),"f"),await Ae(this,be,"f")}get wait(){return Ae(this,be,"f")}get value(){return this[we]=!0,Ae(this,me,"f")}set value(t){if(Ae(this,ye,"f"))throw new ve("you can't set a signal in a signal's subscription listener (infinite loop forbidden)");Ee(this,me,t,"f"),this.publish()}}me=new WeakMap,ye=new WeakMap,be=new WeakMap,ge=new WeakMap,$e=new WeakMap,_e=we;const Te=Error;var Ce;!function(t){function e(t,e){switch(t.mode){case"loading":return e.loading();case"error":return e.error(t.reason);case"ready":return e.ready(t.payload);default:throw console.error("op",t),new Te("invalid op mode")}}t.loading=()=>({mode:"loading"}),t.error=t=>({mode:"error",reason:t}),t.ready=t=>({mode:"ready",payload:t}),t.is=Object.freeze({loading:t=>"loading"===t.mode,error:t=>"error"===t.mode,ready:t=>"ready"===t.mode}),t.payload=function(t){return"ready"===t.mode?t.payload:void 0},t.select=e,t.run=async function(e,r){e(t.loading());try{const s=await r();return e(t.ready(s)),s}catch(r){const s=r instanceof Te?r.message:"string"==typeof r?r:"error";e(t.error(s))}},t.morph=function(r,s){return e(r,{loading:()=>t.loading(),error:e=>t.error(e),ready:e=>t.ready(s(e))})}}(Ce||(Ce={}));class Me extends ke{constructor(){super(Ce.loading())}async run(t){return Ce.run((t=>this.value=t),t)}setLoading(){this.value=Ce.loading()}setError(t){this.value=Ce.error(t)}setReady(t){this.value=Ce.ready(t)}get loading(){return Ce.is.loading(this.value)}get error(){return Ce.is.error(this.value)}get ready(){return Ce.is.ready(this.value)}get payload(){return Ce.payload(this.value)}select(t){return Ce.select(this.value,t)}}var Pe,Se,xe,We,je,Ue,Oe,Ne,He,ze=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},Re=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class qe{constructor({all_signals:t,waiters:e}){Pe.add(this),Se.set(this,!0),xe.set(this,void 0),We.set(this,void 0),je.set(this,new Set),Ue.set(this,new Set),Oe.set(this,Pt(0,(t=>{if(Re(this,Se,"f"))if("lean"in t)t.actor();else{const{payload:e,recording:r}=this.observe(t.collector);this.add_listeners(t,r),t.responder&&t.responder(e)}}))),ze(this,xe,t,"f"),ze(this,We,e,"f")}observe(t){Re(this,Pe,"m",Ne).call(this);return{payload:t(),recording:Re(this,Pe,"a",He)}}add_listeners(t,e){for(const r of e)Re(this,je,"f").add(r),Re(this,Ue,"f").add(r.subscribe((()=>Re(this,We,"f").add(Re(this,Oe,"f").call(this,t)))))}shutdown(){ze(this,Se,!1,"f"),Re(this,Ue,"f").forEach((t=>t()))}}Se=new WeakMap,xe=new WeakMap,We=new WeakMap,je=new WeakMap,Ue=new WeakMap,Oe=new WeakMap,Pe=new WeakSet,Ne=function(){for(const t of Re(this,xe,"f"))t[we]=!1},He=function(){return[...Re(this,xe,"f")].filter((t=>t[we]&&!Re(this,je,"f").has(t)))};var De,Le,Be=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};De=new WeakMap,Le=new WeakMap;const Ie=new It,Ve=new class{constructor(){De.set(this,new Set),Le.set(this,new Set)}signal(t){const e=new ke(t);return Be(this,De,"f").add(e),e}computed(t){const e=this.signal(t());return this.reaction((()=>{e.value=t()})),e}op(){const t=new Me;return Be(this,De,"f").add(t),t}many(t){return ue.map(t,(t=>this.signal(t)))}reaction(t,e){const r=new qe({waiters:Be(this,Le,"f"),all_signals:Be(this,De,"f")}),s={collector:t,responder:e},{recording:n}=r.observe(s.collector);return r.add_listeners(s,n),()=>r.shutdown()}lean(t){const e=new qe({waiters:Be(this,Le,"f"),all_signals:Be(this,De,"f")}),r={lean:!0,actor:t};return{stop:()=>e.shutdown(),collect:t=>{const{payload:s,recording:n}=e.observe(t);return e.add_listeners(r,n),s}}}get wait(){return Promise.all([...Be(this,De,"f")].map((t=>t.wait))).then((()=>Promise.all([...Be(this,Le,"f")]))).then((()=>{Be(this,Le,"f").clear()}))}},Ze=new class{constructor(t){oe.set(this,void 0),ae.set(this,new Set),ce.set(this,new Set),he.set(this,new Map),le(this,oe,t,"f")}dispatch(){for(const t of de(this,ae,"f"))t();for(const t of de(this,ce,"f"))t()}computed(t){const e=de(this,oe,"f").signal(t());return de(this,ae,"f").add((()=>{e.value=t()})),e}track(t,e){let r=!0;const s=()=>{const s=t(),n=de(this,he,"f").get(t);!r&&Qt.equal(s,n)||(r=!1,de(this,he,"f").set(t,s),e(s))};return s(),de(this,ce,"f").add(s),t()}stateTree(t){return new ie(t,(()=>this.dispatch()))}}(Ve);Ie.state.bind(Ie),Ve.signal.bind(Ve);const Je=new class{constructor(t,e){this.flat=t,this.signals=e,fe.set(this,Promise.resolve())}get wait(){return Promise.all([this.flat.wait,this.signals.wait]).then((()=>pe(this,fe,"f")))}reaction(t,e){const r=e?()=>e(n()):()=>n(),s=this.lean(r),n=()=>s.collect(t);return n(),s.stop}lean(t){const e=this.flat.lean(t),r=this.signals.lean(t);return{stop(){e.stop(),r.stop()},collect:t=>e.collect((()=>r.collect(t)))}}}(Ie,Ve);var Ke=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class Ge extends(function(t){var e,r,s;return s=class extends t{constructor(){super(...arguments),e.set(this,(new Set).add((()=>this.setup()))),r.set(this,new Set)}register_setup(t){Ke(this,e,"f").add(t)}setup(){return()=>{}}connectedCallback(){for(const t of Ke(this,e,"f"))Ke(this,r,"f").add(t())}disconnectedCallback(){for(const t of Ke(this,r,"f"))t();Ke(this,r,"f").clear()}},e=new WeakMap,r=new WeakMap,s}(HTMLElement)){}function Qe(){let t,e;return{promise:new Promise(((r,s)=>{t=r,e=s})),resolve:t,reject:e}}function Fe(t,e){o(t,function(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}(e))}var Xe,Ye,tr,er,rr=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},sr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class nr extends Ge{static get styles(){}init(){}constructor(){super(),Xe.set(this,void 0),Ye.set(this,Qe()),tr.set(this,sr(this,Ye,"f").promise),er.set(this,Pt(0,(()=>{const t=sr(this,Xe,"f"),e=this.render();e&&it(e,t,{host:this})}))),rr(this,Xe,this.attachShadow({mode:"open"}),"f");const t=this.constructor;Fe(sr(this,Xe,"f"),t.styles),this.init()}get root(){return sr(this,Xe,"f")}get updateComplete(){return sr(this,tr,"f").then((()=>!0))}render(){}async requestUpdate(){const t=sr(this,er,"f").call(this);return sr(this,Ye,"f")&&(t.then(sr(this,Ye,"f").resolve),rr(this,Ye,void 0,"f")),rr(this,tr,t,"f"),t}connectedCallback(){super.connectedCallback(),this.requestUpdate()}}Xe=new WeakMap,Ye=new WeakMap,tr=new WeakMap,er=new WeakMap;var ir,or=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};ir=new WeakMap;var ar,cr=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},hr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class lr{constructor(t){ar.set(this,void 0),cr(this,ar,t,"f")}get context(){if(hr(this,ar,"f"))return hr(this,ar,"f");throw new Error("slate.context was not set, but it's necessary")}set context(t){cr(this,ar,t,"f")}}ar=new WeakMap;var dr,fr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},ur=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};function pr(t){return[t].flat().filter((t=>!!t))}!function(t){t.css=function(...t){return function(e){return class extends e{static get styles(){return vr(e.styles,t)}}}},t.css_deferred=function(t){return function(e){return class extends e{static get styles(){return vr(e.styles,t())}}}},t.signals=function(t){return function(e){var r,s;return s=class extends e{constructor(){super(...arguments),r.set(this,null)}render(){var t;return null===(t=fr(this,r,"f"))||void 0===t?void 0:t.collect((()=>super.render()))}connectedCallback(){super.connectedCallback(),ur(this,r,t.lean((()=>this.requestUpdate())),"f")}disconnectedCallback(){super.disconnectedCallback(),fr(this,r,"f")&&(fr(this,r,"f").stop(),ur(this,r,null,"f"))}},r=new WeakMap,s}},t.flat=function(t){return function(e){var r,s;return s=class extends e{constructor(){super(...arguments),r.set(this,null)}render(){var t;return null===(t=fr(this,r,"f"))||void 0===t?void 0:t.collect((()=>super.render()))}connectedCallback(){super.connectedCallback(),ur(this,r,t.lean((()=>this.requestUpdate())),"f")}disconnectedCallback(){super.disconnectedCallback(),fr(this,r,"f")&&(fr(this,r,"f").stop(),ur(this,r,null,"f"))}},r=new WeakMap,s}},t.reactor=function(t=Je){return function(e){var r,s;return s=class extends e{constructor(){super(...arguments),r.set(this,null)}render(){var t;return null===(t=fr(this,r,"f"))||void 0===t?void 0:t.collect((()=>super.render()))}connectedCallback(){super.connectedCallback(),ur(this,r,t.lean((()=>this.requestUpdate())),"f")}disconnectedCallback(){super.disconnectedCallback(),fr(this,r,"f")&&(fr(this,r,"f").stop(),ur(this,r,null,"f"))}},r=new WeakMap,s}}}(dr||(dr={}));const wr=t=>void 0!==t;function vr(t,e){var r;return[...null!==(r=pr(t))&&void 0!==r?r:[],...pr(e)].flat().filter(wr)}var mr,yr,br=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},gr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class $r{static with(t){return new this(t)}constructor(t){mr.set(this,void 0),br(this,mr,t,"f")}to(t){return new $r(t(gr(this,mr,"f")))}done(){return gr(this,mr,"f")}}mr=new WeakMap,function(t){t.css=t=>e=>ue.map(e,(e=>dr.css(t)(e))),t.flat=t=>e=>ue.map(e,(e=>dr.flat(t)(e))),t.signals=t=>e=>ue.map(e,(e=>dr.signals(t)(e))),t.reactor=(t=Je)=>e=>ue.map(e,(e=>dr.reactor(t)(e))),t.context=e=>r=>$r.with(r).to(t.css(e.theme)).to(t.reactor()).done()}(yr||(yr={}));var _r,Er,Ar,kr,Tr,Cr,Mr,Pr,Sr,xr,Wr,jr,Ur,Or,Nr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Hr=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class zr{static wrap(t,e){return(...r)=>(Nr(t,Ar,"f").reset(),e(...r))}static disconnect(t){for(const e of Nr(t,Tr,"f"))e();Nr(t,Tr,"f").clear();for(const e of Nr(t,Pr,"f"))e();Nr(t,Pr,"f").clear(),Nr(t,Mr,"f").clear()}static reconnect(t){for(const e of Nr(t,kr,"f").values())Nr(t,Tr,"f").add(e());for(const[e,r]of Nr(t,Cr,"f").entries()){const[s,n]=r();Nr(t,Mr,"f").set(e,s),Nr(t,Pr,"f").add(n)}}constructor(t,e){_r.set(this,void 0),Er.set(this,void 0),Ar.set(this,new Rr),kr.set(this,new Map),Tr.set(this,new Set),Cr.set(this,new Map),Mr.set(this,new Map),Pr.set(this,new Set),Sr.set(this,new Map),xr.set(this,new Map),Wr.set(this,new Map),jr.set(this,new Map),Ur.set(this,new Map),Hr(this,Er,t,"f"),Hr(this,_r,e,"f")}get context(){return Nr(this,_r,"f")}rerender(){Nr(this,Er,"f").call(this)}setup(t){const e=Nr(this,Ar,"f").pull();Nr(this,kr,"f").has(e)||(Nr(this,kr,"f").set(e,t),Nr(this,Tr,"f").add(t()))}init(t){const e=Nr(this,Ar,"f").pull();if(!Nr(this,Cr,"f").has(e)){Nr(this,Cr,"f").set(e,t);const[r,s]=t();return Nr(this,Mr,"f").set(e,r),Nr(this,Pr,"f").add(s),r}return Nr(this,Mr,"f").get(e)}prepare(t){const e=Nr(this,Ar,"f").pull();return pt(Nr(this,xr,"f")).grab(e,t)}state(t){const e=Nr(this,Ar,"f").pull();return[pt(Nr(this,Sr,"f")).grab(e,(()=>"function"==typeof t?t():t)),t=>{Nr(this,Sr,"f").set(e,t),Nr(this,Er,"f").call(this)},()=>Nr(this,Sr,"f").get(e)]}flatstate(t){const e=Nr(this,Ar,"f").pull();return pt(Nr(this,Wr,"f")).grab(e,(()=>Ie.state("function"==typeof t?t():t)))}signal(t){const e=Nr(this,Ar,"f").pull();return pt(Nr(this,jr,"f")).grab(e,(()=>Ve.signal("function"==typeof t?t():t)))}computed(t){const e=Nr(this,Ar,"f").pull();return pt(Nr(this,jr,"f")).grab(e,(()=>Ve.computed(t)))}op(){const t=Nr(this,Ar,"f").pull();return pt(Nr(this,jr,"f")).grab(t,(()=>Ve.op()))}watch(t){const e=Nr(this,Ar,"f").pull();return pt(Nr(this,Ur,"f")).grab(e,(()=>Ze.track(t,(t=>{Nr(this,Ur,"f").set(e,t),Nr(this,Er,"f").call(this)}))))}}_r=new WeakMap,Er=new WeakMap,Ar=new WeakMap,kr=new WeakMap,Tr=new WeakMap,Cr=new WeakMap,Mr=new WeakMap,Pr=new WeakMap,Sr=new WeakMap,xr=new WeakMap,Wr=new WeakMap,jr=new WeakMap,Ur=new WeakMap;class Rr{constructor(){Or.set(this,0)}pull(){var t,e;return Hr(this,Or,(e=Nr(this,Or,"f"),t=e++,e),"f"),t}reset(){Hr(this,Or,0,"f")}}Or=new WeakMap;var qr,Dr,Lr,Br=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Ir=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class Vr extends zr{get element(){return Br(this,qr,"f")}get shadow(){return Br(this,Dr,"f")}constructor(t,e,r,s){super(r,s),qr.set(this,void 0),Dr.set(this,void 0),Ir(this,qr,t,"f"),Ir(this,Dr,e,"f")}}function Zr(t){let e;return function(r){return e||(e=function(t,e){return Lr.on_change(t,(()=>t.requestUpdate())),Lr.proxy(t,e)}(t,r)),e}}qr=new WeakMap,Dr=new WeakMap,function(t){t.proxy=(t,e)=>new Proxy(e,{get:(r,s)=>{const n=e[s],i=t.getAttribute(s);switch(n){case String:return null!=i?i:void 0;case Number:return null!==i?Number(i):void 0;case Boolean:return null!==i;default:throw new Error(`invalid attribute type for "${s}"`)}},set:(r,s,n)=>{switch(e[s]){case String:return t.setAttribute(s,n),!0;case Number:return t.setAttribute(s,n.toString()),!0;case Boolean:return n?t.setAttribute(s,""):t.removeAttribute(s),!0;default:throw new Error(`invalid attribute type for "${s}"`)}}}),t.on_change=function(t,e){const r=new MutationObserver(e);return r.observe(t,{attributes:!0}),()=>r.disconnect()}}(Lr||(Lr={}));class Jr extends Vr{constructor(t,e,r,s){super(t,e,r,s),this.attrs=Zr(t)}}var Kr,Gr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Qr=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class Fr extends zr{get element(){return Gr(this,Kr,"f")}constructor(t,e,r){super(e,r),Kr.set(this,void 0),Qr(this,Kr,t,"f"),this.attrs=Zr(t)}}Kr=new WeakMap;class Xr extends Jr{}class Yr extends Fr{}class ts extends zr{}class es extends Vr{}function rs(t,e){const r=Je.lean(e);return{stop:r.stop,render:(...e)=>r.collect((()=>t(...e)))}}var ss=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},ns=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};const is=t=>(e,r)=>{var s,n,o,a;return a=class extends nr{constructor(){super(...arguments),s.set(this,new Xr(this,this.root,(()=>{this.requestUpdate()}),t.context)),n.set(this,Xr.wrap(ss(this,s,"f"),(()=>r(ss(this,s,"f"))))),o.set(this,void 0)}static get styles(){var r;return[t.context.theme,null!==(r=e.styles)&&void 0!==r?r:i``]}render(){var t;return null===(t=ss(this,o,"f"))||void 0===t?void 0:t.render()}connectedCallback(){super.connectedCallback(),Xr.reconnect(ss(this,s,"f")),ns(this,o,rs(ss(this,n,"f"),(()=>{this.requestUpdate()})),"f")}disconnectedCallback(){super.disconnectedCallback(),Xr.disconnect(ss(this,s,"f")),ss(this,o,"f")&&(ss(this,o,"f").stop(),ns(this,o,void 0,"f"))}},s=new WeakMap,n=new WeakMap,o=new WeakMap,a.label=e.name,a};var os,as,cs,hs=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},ls=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class ds extends Ge{init(){}constructor(){super(),os.set(this,Qe()),as.set(this,hs(this,os,"f").promise),cs.set(this,Pt(0,(()=>{const t=this.render();it(t,this,{host:this})}))),this.init()}get updateComplete(){return hs(this,as,"f").then((()=>!0))}render(){}async requestUpdate(){const t=hs(this,cs,"f").call(this);return hs(this,os,"f")&&(t.then(hs(this,os,"f").resolve),ls(this,os,void 0,"f")),ls(this,as,t,"f"),t}connectedCallback(){super.connectedCallback(),this.requestUpdate()}}os=new WeakMap,as=new WeakMap,cs=new WeakMap;var fs=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},us=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};const ps=t=>e=>{var r,s,n,i;return i=class extends ds{constructor(){super(...arguments),r.set(this,new Yr(this,(()=>{this.requestUpdate()}),t.context)),s.set(this,Yr.wrap(fs(this,r,"f"),(()=>e(fs(this,r,"f"))))),n.set(this,void 0)}render(){var t;return null===(t=fs(this,n,"f"))||void 0===t?void 0:t.render()}connectedCallback(){super.connectedCallback(),us(this,n,rs(fs(this,s,"f"),(()=>{this.requestUpdate()})),"f"),Yr.reconnect(fs(this,r,"f"))}disconnectedCallback(){super.disconnectedCallback(),fs(this,n,"f")&&(fs(this,n,"f").stop(),us(this,n,void 0,"f")),Yr.disconnect(fs(this,r,"f"))}},r=new WeakMap,s=new WeakMap,n=new WeakMap,i},ws=2;class vs{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)}}const ms=(t,e)=>{const r=t._$AN;if(void 0===r)return!1;for(const t of r)t._$AO?.(e,!1),ms(t,e);return!0},ys=t=>{let e,r;do{if(void 0===(e=t._$AM))break;r=e._$AN,r.delete(t),t=e}while(0===r?.size)},bs=t=>{for(let e;e=t._$AM;t=e){let r=e._$AN;if(void 0===r)e._$AN=r=new Set;else if(r.has(t))break;r.add(t),_s(e)}};function gs(t){void 0!==this._$AN?(ys(this),this._$AM=t,bs(this)):this._$AM=t}function $s(t,e=!1,r=0){const s=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(e)if(Array.isArray(s))for(let t=r;t<s.length;t++)ms(s[t],!1),ys(s[t]);else null!=s&&(ms(s,!1),ys(s));else ms(this,t)}const _s=t=>{t.type==ws&&(t._$AP??=$s,t._$AQ??=gs)};class Es extends vs{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),bs(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(ms(this,t),ys(this))}setValue(t){if((t=>void 0===t.strings)(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}var As=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},ks=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};const Ts=t=>e=>{var r,s,n,i,o,a;return(t=>(...e)=>({_$litDirective$:t,values:e}))((a=class extends Es{constructor(){super(...arguments),r.set(this,void 0),s.set(this,Pt(0,(()=>{ks(this,r,"f")&&this.setValue(this.render(...ks(this,r,"f")))}))),n.set(this,new ts(ks(this,s,"f"),t.context)),i.set(this,ts.wrap(ks(this,n,"f"),e(ks(this,n,"f")))),o.set(this,rs(ks(this,i,"f"),ks(this,s,"f")))}render(...t){var e;return As(this,r,t,"f"),null===(e=ks(this,o,"f"))||void 0===e?void 0:e.render(...t)}reconnected(){ts.reconnect(ks(this,n,"f")),As(this,o,rs(ks(this,i,"f"),ks(this,s,"f")),"f")}disconnected(){ts.disconnect(ks(this,n,"f")),ks(this,o,"f")&&(ks(this,o,"f").stop(),As(this,o,void 0,"f"))}},r=new WeakMap,s=new WeakMap,n=new WeakMap,i=new WeakMap,o=new WeakMap,a))};function Cs(){const t=new Set;function e(e){return t.add(e),()=>{t.delete(e)}}return e.publish=e=>{for(const r of t)r(e)},e.clear=()=>t.clear(),e.once=e=>{const r=s=>{e(s),t.delete(r)};return t.add(r),()=>{t.delete(r)}},e}const Ms=t=>{for(const[e,r]of Object.entries(t))customElements.define(e.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase(),r)};class Ps extends HTMLElement{constructor(){super(...arguments),this.onConnected=Cs(),this.onDisconnected=Cs()}connectedCallback(){this.onConnected.publish()}disconnectedCallback(){this.onDisconnected.publish()}}function Ss(...t){const e=new Set,r=t.map((t=>null!=t?t:"")).flatMap(xs);for(const t of r)e.add(t);return e}function xs(t){return t.split(/\s+/).map((t=>t.trim())).filter((t=>!!t))}function Ws(t){return t.split(",").map((t=>t.trim())).filter((t=>!!t)).map((t=>t.includes(":")?t.split(":").map((t=>t.trim()))[1]:t))}function js(t,e){const r=Ss(t.getAttribute("part")),s=Ss(t.getAttribute("data-gpart")),n=function(t,e){return Object.fromEntries(Object.entries(e).map((([e,r])=>[e,Array.from(t.querySelectorAll(`[${r}]`)).map((t=>t.getAttribute(r)))])))}(e,{part:"part",gpart:"data-gpart",exportparts:"exportparts",gexportparts:"gexportparts"}),i=new Set([...n.part.flatMap(xs),...n.exportparts.flatMap(Ws)]),o=new Set([...n.gpart.flatMap(xs),...n.gexportparts.flatMap(xs)]);i.size&&t.setAttribute("exportparts",[...r].flatMap(function(t,e){return r=>[...t].flatMap((t=>[`${t}:${r}-${t}`,...e.has(t)?[t]:[]]))}(i,o)).join(", ")),(o.size||t.hasAttribute("data-gpart"))&&t.setAttribute("gexportparts",[...o,...[...s].flatMap((t=>[...i].map((e=>`${t}-${e}`))))].join(" "))}function Us(t,e={},r={}){const{content:s,attrs:n={}}=e,{attrs:i={}}=r;function o(e,r,s,n){e!==r&&(void 0===e?t.removeAttribute(s):t.setAttribute(s,n()))}n&&function(t,e){for(const[r,s]of Object.entries(e))"string"==typeof s?t.setAttribute(r,s):"number"==typeof s?t.setAttribute(r,s.toString()):"boolean"==typeof s?!0===s?t.setAttribute(r,""):t.removeAttribute(r):void 0===s?t.removeAttribute(r):console.warn(`invalid attribute type ${r} is ${typeof s}`)}(t,n),o(n.class,null==i?void 0:i.class,"class",(()=>n.class)),o(n.part,null==i?void 0:i.part,"part",(()=>n.part)),o(n.gpart,null==i?void 0:i.gpart,"data-gpart",(()=>n.gpart)),s&&it(s,t,{host:t})}Ps.tag="obsidian-view",Ms({ObsidianView:Ps});var Os=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Ns=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};const Hs=t=>(e={},r)=>{var s,n,o,a,c,h,l,d;return(t=>(e,r={})=>({_$litDirective$:t,values:[{meta:r,props:e}]}))((d=class extends Es{constructor(){var d,f;super(...arguments),s.set(this,void 0),n.set(this,!0),o.set(this,function({name:t,css:e,onConnected:r,onDisconnected:s}){const n=document.createElement(Ps.tag);n.setAttribute("view",t),n.onConnected(r),n.onDisconnected(s);const i=n.attachShadow({mode:"open"});Fe(i,e);let o=!1;return{container:n,shadow:i,set auto_exportparts(t){o=t},render_into_shadow:t=>(it(t,i),o&&js(n,i),n)}}({name:null!==(d=e.name)&&void 0!==d?d:"",css:[t.context.theme,null!==(f=e.styles)&&void 0!==f?f:i``],onDisconnected:()=>this.disconnected(),onConnected:()=>{Os(this,n,"f")||this.reconnected(),Ns(this,n,!1,"f")}})),a.set(this,Pt(0,(()=>{Os(this,s,"f")&&this.setValue(Os(this,o,"f").render_into_shadow(this.render(Os(this,s,"f"))))}))),c.set(this,new es(Os(this,o,"f").container,Os(this,o,"f").shadow,Os(this,a,"f"),t.context)),h.set(this,es.wrap(Os(this,c,"f"),r(Os(this,c,"f")))),l.set(this,rs(Os(this,h,"f"),Os(this,a,"f")))}update(t,e){return Os(this,o,"f").render_into_shadow(this.render(...e))}render(t){var r,n,i,a;return Us(Os(this,o,"f").container,t.meta,null===(r=Os(this,s,"f"))||void 0===r?void 0:r.meta),Ns(this,s,t,"f"),Os(this,o,"f").auto_exportparts=null===(i=null!==(n=t.meta.auto_exportparts)&&void 0!==n?n:e.auto_exportparts)||void 0===i||i,null===(a=Os(this,l,"f"))||void 0===a?void 0:a.render(...t.props)}reconnected(){es.reconnect(Os(this,c,"f")),Ns(this,l,rs(Os(this,h,"f"),Os(this,a,"f")),"f")}disconnected(){es.disconnect(Os(this,c,"f")),Os(this,l,"f")&&(Os(this,l,"f").stop(),Ns(this,l,void 0,"f"))}},s=new WeakMap,n=new WeakMap,o=new WeakMap,a=new WeakMap,c=new WeakMap,h=new WeakMap,l=new WeakMap,d))};class zs{constructor(){this.theme=i` | ||
Array.prototype.at=function(t){return t>=0?this[t]:this[this.length+t]};const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const r=this.t;if(e&&void 0===t){const e=void 0!==r&&1===r.length;e&&(t=s.get(r)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(r,t))}return t}toString(){return this.cssText}};const i=(t,...e)=>{const s=1===t.length?t[0]:e.reduce(((e,r,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+t[s+1]),t[0]);return new n(s,t,r)},o=(r,s)=>{if(e)r.adoptedStyleSheets=s.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,r.appendChild(s)}},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,r))(e)})(t):t,{is:c,defineProperty:h,getOwnPropertyDescriptor:l,getOwnPropertyNames:f,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,w=p.trustedTypes,m=w?w.emptyScript:"",v=p.reactiveElementPolyfillSupport,y=(t,e)=>t,b={toAttribute(t,e){switch(e){case Boolean:t=t?m:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},g=(t,e)=>!c(t,e),$={attribute:!0,type:String,converter:b,reflect:!1,hasChanged:g};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;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=$){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),s=this.getPropertyDescriptor(t,r,e);void 0!==s&&h(this.prototype,t,s)}}static getPropertyDescriptor(t,e,r){const{get:s,set:n}=l(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return s?.call(this)},set(e){const i=s?.call(this);n.call(this,e),this.requestUpdate(t,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$}static _$Ei(){if(this.hasOwnProperty(y("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(y("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(y("properties"))){const t=this.properties,e=[...f(t),...d(t)];for(const r of e)this.createProperty(r,t[r])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,r]of e)this.elementProperties.set(t,r)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const r=this._$Eu(t,e);void 0!==r&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$ES??=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$ES?.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return o(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$ES?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EO(t,e){const r=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,r);if(void 0!==s&&!0===r.reflect){const n=(void 0!==r.converter?.toAttribute?r.converter:b).toAttribute(e,r.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const r=this.constructor,s=r._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=r.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:b;this._$Em=s,this[s]=n.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,r,s=!1,n){if(void 0!==t){if(r??=this.constructor.getPropertyOptions(t),!(r.hasChanged??g)(s?n:this[t],e))return;this.C(t,e,r)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,e,r){this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,r]of t)!0!==r.wrapped||this._$AL.has(e)||void 0===this[e]||this.C(e,this[e],r)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$ES?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$ET()}catch(e){throw t=!1,this._$ET(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$ES?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}_.elementStyles=[],_.shadowRootOptions={mode:"open"},_[y("elementProperties")]=new Map,_[y("finalized")]=new Map,v?.({ReactiveElement:_}),(p.reactiveElementVersions??=[]).push("2.0.0");const E=globalThis,A=E.trustedTypes,k=A?A.createPolicy("lit-html",{createHTML:t=>t}):void 0,T="$lit$",M=`lit$${(Math.random()+"").slice(9)}$`,C="?"+M,P=`<${C}>`,S=document,x=()=>S.createComment(""),W=t=>null===t||"object"!=typeof t&&"function"!=typeof t,j=Array.isArray,U="[ \t\n\f\r]",O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,N=/-->/g,H=/>/g,R=RegExp(`>|${U}(?:([^\\s"'>=/]+)(${U}*=${U}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),z=/'/g,q=/"/g,D=/^(?:script|style|textarea|title)$/i,L=(t=>(e,...r)=>({_$litType$:t,strings:e,values:r}))(1),B=Symbol.for("lit-noChange"),I=Symbol.for("lit-nothing"),V=new WeakMap,Z=S.createTreeWalker(S,129);function J(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==k?k.createHTML(e):e}const K=(t,e)=>{const r=t.length-1,s=[];let n,i=2===e?"<svg>":"",o=O;for(let e=0;e<r;e++){const r=t[e];let a,c,h=-1,l=0;for(;l<r.length&&(o.lastIndex=l,c=o.exec(r),null!==c);)l=o.lastIndex,o===O?"!--"===c[1]?o=N:void 0!==c[1]?o=H:void 0!==c[2]?(D.test(c[2])&&(n=RegExp("</"+c[2],"g")),o=R):void 0!==c[3]&&(o=R):o===R?">"===c[0]?(o=n??O,h=-1):void 0===c[1]?h=-2:(h=o.lastIndex-c[2].length,a=c[1],o=void 0===c[3]?R:'"'===c[3]?q:z):o===q||o===z?o=R:o===N||o===H?o=O:(o=R,n=void 0);const f=o===R&&t[e+1].startsWith("/>")?" ":"";i+=o===O?r+P:h>=0?(s.push(a),r.slice(0,h)+T+r.slice(h)+M+f):r+M+(-2===h?e:f)}return[J(t,i+(t[r]||"<?>")+(2===e?"</svg>":"")),s]};class G{constructor({strings:t,_$litType$:e},r){let s;this.parts=[];let n=0,i=0;const o=t.length-1,a=this.parts,[c,h]=K(t,e);if(this.el=G.createElement(c,r),Z.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=Z.nextNode())&&a.length<o;){if(1===s.nodeType){if(s.hasAttributes())for(const t of s.getAttributeNames())if(t.endsWith(T)){const e=h[i++],r=s.getAttribute(t).split(M),o=/([.?@])?(.*)/.exec(e);a.push({type:1,index:n,name:o[2],strings:r,ctor:"."===o[1]?tt:"?"===o[1]?et:"@"===o[1]?rt:Y}),s.removeAttribute(t)}else t.startsWith(M)&&(a.push({type:6,index:n}),s.removeAttribute(t));if(D.test(s.tagName)){const t=s.textContent.split(M),e=t.length-1;if(e>0){s.textContent=A?A.emptyScript:"";for(let r=0;r<e;r++)s.append(t[r],x()),Z.nextNode(),a.push({type:2,index:++n});s.append(t[e],x())}}}else if(8===s.nodeType)if(s.data===C)a.push({type:2,index:n});else{let t=-1;for(;-1!==(t=s.data.indexOf(M,t+1));)a.push({type:7,index:n}),t+=M.length-1}n++}}static createElement(t,e){const r=S.createElement("template");return r.innerHTML=t,r}}function Q(t,e,r=t,s){if(e===B)return e;let n=void 0!==s?r._$Co?.[s]:r._$Cl;const i=W(e)?void 0:e._$litDirective$;return n?.constructor!==i&&(n?._$AO?.(!1),void 0===i?n=void 0:(n=new i(t),n._$AT(t,r,s)),void 0!==s?(r._$Co??=[])[s]=n:r._$Cl=n),void 0!==n&&(e=Q(t,n._$AS(t,e.values),n,s)),e}class F{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){const{el:{content:e},parts:r}=this._$AD,s=(t?.creationScope??S).importNode(e,!0);Z.currentNode=s;let n=Z.nextNode(),i=0,o=0,a=r[0];for(;void 0!==a;){if(i===a.index){let e;2===a.type?e=new X(n,n.nextSibling,this,t):1===a.type?e=new a.ctor(n,a.name,a.strings,this,t):6===a.type&&(e=new st(n,this,t)),this._$AV.push(e),a=r[++o]}i!==a?.index&&(n=Z.nextNode(),i++)}return Z.currentNode=S,s}p(t){let e=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class X{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,s){this.type=2,this._$AH=I,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=Q(this,t,e),W(t)?t===I||null==t||""===t?(this._$AH!==I&&this._$AR(),this._$AH=I):t!==this._$AH&&t!==B&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>j(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==I&&W(this._$AH)?this._$AA.nextSibling.data=t:this.$(S.createTextNode(t)),this._$AH=t}g(t){const{values:e,_$litType$:r}=t,s="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=G.createElement(J(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new F(s,this),r=t.u(this.options);t.p(e),this.$(r),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new G(t)),e}T(t){j(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,s=0;for(const n of t)s===e.length?e.push(r=new X(this.k(x()),this.k(x()),this,this.options)):r=e[s],r._$AI(n),s++;s<e.length&&(this._$AR(r&&r._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class Y{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,s,n){this.type=1,this._$AH=I,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=n,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=I}_$AI(t,e=this,r,s){const n=this.strings;let i=!1;if(void 0===n)t=Q(this,t,e,0),i=!W(t)||t!==this._$AH&&t!==B,i&&(this._$AH=t);else{const s=t;let o,a;for(t=n[0],o=0;o<n.length-1;o++)a=Q(this,s[r+o],e,o),a===B&&(a=this._$AH[o]),i||=!W(a)||a!==this._$AH[o],a===I?t=I:t!==I&&(t+=(a??"")+n[o+1]),this._$AH[o]=a}i&&!s&&this.O(t)}O(t){t===I?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class tt extends Y{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===I?void 0:t}}class et extends Y{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==I)}}class rt extends Y{constructor(t,e,r,s,n){super(t,e,r,s,n),this.type=5}_$AI(t,e=this){if((t=Q(this,t,e,0)??I)===B)return;const r=this._$AH,s=t===I&&r!==I||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,n=t!==I&&(r===I||s);s&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class st{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){Q(this,t)}}const nt=E.litHtmlPolyfillSupport;nt?.(G,X),(E.litHtmlVersions??=[]).push("3.1.0");const it=(t,e,r)=>{const s=r?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=r?.renderBefore??null;s._$litPart$=n=new X(e.insertBefore(x(),t),t,void 0,r??{})}return n._$AI(t),n};let ot=class extends _{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=it(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return B}};ot._$litElement$=!0,ot.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:ot});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:ot}),(globalThis.litElementVersions??=[]).push("4.0.0");var ct,ht=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},lt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class ft{constructor(){ct.set(this,!1)}lock(t){ht(this,ct,!0,"f");const e=t();return ht(this,ct,!1,"f"),e}get locked(){return lt(this,ct,"f")}}ct=new WeakMap;const dt=()=>new Map,ut=()=>new Set;function pt(t){return new wt(t)}class wt{constructor(t){this.map=t}grab(t,e){const{map:r}=this;if(r.has(t))return r.get(t);{const s=e();return r.set(t,s),s}}}var mt,vt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},yt=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class bt{constructor(){mt.set(this,new WeakMap)}grab_keymap(t){const e=pt(vt(this,mt,"f")).grab(t,dt);return{keymap:e,grab_symbolmap:t=>pt(e).grab(t,dt)}}clear(){yt(this,mt,new WeakMap,"f")}}mt=new WeakMap;var gt,$t=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class _t{constructor(){gt.set(this,new Map)}stop(t){const e=$t(this,gt,"f").get(t);e&&($t(this,gt,"f").delete(t),e())}add(t,e){$t(this,gt,"f").set(t,e)}}gt=new WeakMap;var Et,At=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class kt{constructor(){Et.set(this,[])}record(t){const e=dt();At(this,Et,"f").push(e);const r=t();return At(this,Et,"f").pop(),{payload:r,recording:e}}record_that_key_was_accessed(t,e){const r=At(this,Et,"f").at(-1);if(r){pt(r).grab(t,ut).add(e)}}}Et=new WeakMap;class Tt extends Error{constructor(){super(...arguments),this.name=this.constructor.name}}class Mt extends Tt{constructor(t){super(`forbidden circularity, rejected assignment to "${t}"`)}}class Ct extends Tt{constructor(t){super(`forbidden assignment to readonly property "${t}"`)}}function Pt(t,e){let r,s,n=[];function i(){r=[],s&&clearTimeout(s),s=void 0,n=[]}return i(),(...o)=>{r=o,s&&clearTimeout(s);const a=new Promise(((t,e)=>{n.push({resolve:t,reject:e})}));return s=setTimeout((()=>{Promise.resolve().then((()=>e(...r))).then((t=>{for(const{resolve:e}of n)e(t);i()})).catch((t=>{for(const{reject:e}of n)e(t);i()}))}),t),a}}var St,xt,Wt,jt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Ut=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class Ot{constructor(){St.set(this,new Map),xt.set(this,Promise.resolve()),Wt.set(this,Pt(0,(()=>{const t=[...jt(this,St,"f").values()];jt(this,St,"f").clear();for(const e of t)e()})))}get wait(){return jt(this,xt,"f")}add(t,e){jt(this,St,"f").set(t,e),Ut(this,xt,jt(this,Wt,"f").call(this),"f")}}function Nt(t,e,r,s){const n=[];for(const[i,o]of e){const{grab_symbolmap:e}=r.grab_keymap(i);for(const r of o){const i=e(r);i.set(t,s),n.push((()=>i.delete(t)))}}return()=>n.forEach((t=>t()))}St=new WeakMap,xt=new WeakMap,Wt=new WeakMap;var Ht,Rt,zt,qt,Dt,Lt,Bt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class It{constructor(){Ht.set(this,new bt),Rt.set(this,new kt),zt.set(this,new ft),qt.set(this,new _t),Dt.set(this,new Ot),Lt.set(this,function(t,e,r,s,n){function i([r,n]){if("lean"in n)n.actor();else{const{payload:i,recording:o}=e.record(n.collector);s.add(r,Nt(r,o,t,n)),n.responder&&n.responder(i)}}return{get:(t,r)=>(e.record_that_key_was_accessed(t,r),t[r]),set:(e,s,o)=>{if(r.locked)throw new Mt(s);e[s]=o;const a=[...t.grab_keymap(e).grab_symbolmap(s)];for(const t of a){const[e]=t;n.add(e,(()=>r.lock((()=>i(t)))))}return!0}}}(Bt(this,Ht,"f"),Bt(this,Rt,"f"),Bt(this,zt,"f"),Bt(this,qt,"f"),Bt(this,Dt,"f")))}get wait(){return Bt(this,Dt,"f").wait}state(t){return new Proxy(t,Bt(this,Lt,"f"))}reaction(t,e){const r=Symbol(),{recording:s}=Bt(this,Rt,"f").record((()=>Bt(this,zt,"f").lock(t)));return Bt(this,qt,"f").add(r,Nt(r,s,Bt(this,Ht,"f"),{collector:t,responder:e})),()=>Bt(this,qt,"f").stop(r)}lean(t){const e=Symbol();return{stop:()=>Bt(this,qt,"f").stop(e),collect:r=>{const{payload:s,recording:n}=Bt(this,Rt,"f").record((()=>Bt(this,zt,"f").lock(r)));return Bt(this,qt,"f").add(e,Nt(e,n,Bt(this,Ht,"f"),{lean:!0,actor:t})),s}}}clear(){Bt(this,Ht,"f").clear()}}Ht=new WeakMap,Rt=new WeakMap,zt=new WeakMap,qt=new WeakMap,Dt=new WeakMap,Lt=new WeakMap,It.readonly=function(t){return new Proxy(t,{get:(t,e)=>t[e],set(t,e){throw new Ct(e)}})},It.collectivize=function(t){return function(e){return()=>{const r="function"==typeof t?t():t;return e(r)}}};var Vt,Zt=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},Jt=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class Kt{constructor(t){Vt.set(this,void 0),Zt(this,Vt,t,"f")}get state(){return Jt(this,Vt,"f").getter(Jt(this,Vt,"f").parent.state)}transmute(t){Jt(this,Vt,"f").parent.transmute((e=>{const r=Jt(this,Vt,"f").getter(e),s=t(r);return Jt(this,Vt,"f").setter(e,s)}))}slice({getter:t,setter:e}){return new Kt({parent:this,getter:t,setter:e})}}Vt=new WeakMap;const Gt=t=>"object"==typeof t&&null!==t;const Qt={equal:(t,e)=>function t(e,r,s){if(!Gt(e)||!Gt(r))return e===r;if(s.includes(e))throw new Error("forbidden circularity detected in deep equal comparison");const n=[...s,e];if(e instanceof Map&&r instanceof Map){if(e.size!==r.size)return!1;for(const[s,i]of e)if(!r.has(s)||!t(i,r.get(s),n))return!1}else if(e instanceof Set&&r instanceof Set){if(e.size!==r.size)return!1;for(const s of e)if(!Array.from(r).some((e=>t(s,e,n))))return!1}else{const s=Object.keys(e),i=Object.keys(r);if(s.length!==i.length)return!1;for(const o of s){if(!i.includes(o))return!1;if(!t(e[o],r[o],n))return!1}}return!0}(t,e,[]),freeze:function(t){return function t(e,r){if(!Gt(e)||r.includes(e))return e;const s=[...r,e];if(e instanceof Map)for(const r of e.entries())for(const e of r)t(e,s);else if(e instanceof Set)for(const r of e)t(r,s);else if(Array.isArray(e))for(const r of e)t(r,s);else for(const r of Object.values(e))t(r,s);return Object.freeze(e)}(t,[])}};var Ft,Xt,Yt,te,ee,re,se=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},ne=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class ie{constructor(t,e=(()=>{})){Ft.add(this),Xt.set(this,void 0),Yt.set(this,void 0),te.set(this,void 0),ee.set(this,!1),ne(this,Xt,structuredClone(t),"f"),ne(this,Yt,se(this,Ft,"m",re).call(this),"f"),ne(this,te,e,"f")}get state(){return se(this,Yt,"f")}transmute(t){if(se(this,ee,"f"))throw new Error("circular error");ne(this,ee,!0,"f"),ne(this,Xt,t(structuredClone(se(this,Xt,"f"))),"f"),ne(this,Yt,se(this,Ft,"m",re).call(this),"f"),se(this,te,"f").call(this),ne(this,ee,!1,"f")}slice({getter:t,setter:e}){return new Kt({parent:this,getter:t,setter:e})}}Xt=new WeakMap,Yt=new WeakMap,te=new WeakMap,ee=new WeakMap,Ft=new WeakSet,re=function(){return Qt.freeze(structuredClone(se(this,Xt,"f")))};var oe,ae,ce,he,le=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},fe=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};oe=new WeakMap,ae=new WeakMap,ce=new WeakMap,he=new WeakMap;var de,ue=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};de=new WeakMap;const pe=Error;var we,me;!function(t){function e(t,e){switch(t.status){case"loading":return e.loading();case"error":return e.error(t.reason);case"ready":return e.ready(t.payload);default:throw console.error("op",t),new pe("invalid op status")}}t.loading=()=>({status:"loading"}),t.error=t=>({status:"error",reason:t}),t.ready=t=>({status:"ready",payload:t}),t.is=Object.freeze({loading:t=>"loading"===t.status,error:t=>"error"===t.status,ready:t=>"ready"===t.status}),t.payload=function(t){return"ready"===t.status?t.payload:void 0},t.reason=function(t){return"error"===t.status?t.reason:void 0},t.select=e,t.run=async function(e,r){e(t.loading());try{const s=await r();return e(t.ready(s)),s}catch(r){const s=r instanceof pe?r.message:"string"==typeof r?r:"error";e(t.error(s))}},t.morph=function(r,s){return e(r,{loading:()=>t.loading(),error:e=>t.error(e),ready:e=>t.ready(s(e))})}}(we||(we={})),function(t){var e;t.map=(t,e)=>Object.fromEntries(Object.entries(t).map((([t,r])=>[t,e(r,t)]))),t.filter=(t,e)=>Object.fromEntries(Object.entries(t).filter((([t,r])=>e(r,t)))),(e=t.pipe||(t.pipe={})).map=e=>r=>t.map(r,e),e.filter=e=>r=>t.filter(r,e)}(me||(me={}));const ve=Symbol();class ye extends Error{constructor(){super(...arguments),this.name=this.constructor.name}}var be,ge,$e,_e,Ee,Ae,ke=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},Te=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class Me{constructor(t){be.set(this,void 0),ge.set(this,!1),$e.set(this,void 0),_e.set(this,new Set),this[Ae]=!1,Ee.set(this,Pt(0,(()=>{const t=Te(this,be,"f");ke(this,ge,!0,"f");for(const e of Te(this,_e,"f"))e(t);return ke(this,ge,!1,"f"),t}))),ke(this,be,t,"f"),ke(this,$e,Promise.resolve(t),"f")}subscribe(t){return Te(this,_e,"f").add(t),()=>{Te(this,_e,"f").delete(t)}}once(t){const e=r=>{t(r),Te(this,_e,"f").delete(e)};return Te(this,_e,"f").add(e),()=>{Te(this,_e,"f").delete(e)}}clear(){return Te(this,_e,"f").clear()}async publish(){ke(this,$e,Te(this,Ee,"f").call(this),"f"),await Te(this,$e,"f")}get wait(){return Te(this,$e,"f")}get value(){return this[ve]=!0,Te(this,be,"f")}set value(t){if(Te(this,ge,"f"))throw new ye("you can't set a signal in a signal's subscription listener (infinite loop forbidden)");ke(this,be,t,"f"),this.publish()}}be=new WeakMap,ge=new WeakMap,$e=new WeakMap,_e=new WeakMap,Ee=new WeakMap,Ae=ve;class Ce extends Me{constructor(t){super(t)}async run(t){return we.run((t=>this.value=t),t)}setLoading(){this.value=we.loading()}setError(t){this.value=we.error(t)}setReady(t){this.value=we.ready(t)}isLoading(){return we.is.loading(this.value)}isError(){return we.is.error(this.value)}isReady(){return we.is.ready(this.value)}get payload(){return we.payload(this.value)}select(t){return we.select(this.value,t)}}var Pe,Se,xe,We,je,Ue,Oe,Ne,He,Re=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},ze=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class qe{constructor({all_signals:t,waiters:e}){Pe.add(this),Se.set(this,!0),xe.set(this,void 0),We.set(this,void 0),je.set(this,new Set),Ue.set(this,new Set),Oe.set(this,Pt(0,(t=>{if(ze(this,Se,"f"))if("lean"in t)t.actor();else{const{payload:e,recording:r}=this.observe(t.collector);this.add_listeners(t,r),t.responder&&t.responder(e)}}))),Re(this,xe,t,"f"),Re(this,We,e,"f")}observe(t){ze(this,Pe,"m",Ne).call(this);return{payload:t(),recording:ze(this,Pe,"a",He)}}add_listeners(t,e){for(const r of e)ze(this,je,"f").add(r),ze(this,Ue,"f").add(r.subscribe((()=>ze(this,We,"f").add(ze(this,Oe,"f").call(this,t)))))}shutdown(){Re(this,Se,!1,"f"),ze(this,Ue,"f").forEach((t=>t()))}}Se=new WeakMap,xe=new WeakMap,We=new WeakMap,je=new WeakMap,Ue=new WeakMap,Oe=new WeakMap,Pe=new WeakSet,Ne=function(){for(const t of ze(this,xe,"f"))t[ve]=!1},He=function(){return[...ze(this,xe,"f")].filter((t=>t[ve]&&!ze(this,je,"f").has(t)))};var De,Le,Be=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};De=new WeakMap,Le=new WeakMap;const Ie=new It,Ve=new class{constructor(){De.set(this,new Set),Le.set(this,new Set)}signal(t){const e=new Me(t);return Be(this,De,"f").add(e),e}computed(t){const e=this.signal(t());return this.reaction((()=>{e.value=t()})),e}op(t=we.loading()){const e=new Ce(t);return Be(this,De,"f").add(e),e}many(t){return me.map(t,(t=>this.signal(t)))}reaction(t,e){const r=new qe({waiters:Be(this,Le,"f"),all_signals:Be(this,De,"f")}),s={collector:t,responder:e},{recording:n}=r.observe(s.collector);return r.add_listeners(s,n),()=>r.shutdown()}lean(t){const e=new qe({waiters:Be(this,Le,"f"),all_signals:Be(this,De,"f")}),r={lean:!0,actor:t};return{stop:()=>e.shutdown(),collect:t=>{const{payload:s,recording:n}=e.observe(t);return e.add_listeners(r,n),s}}}get wait(){return Promise.all([...Be(this,De,"f")].map((t=>t.wait))).then((()=>Promise.all([...Be(this,Le,"f")]))).then((()=>{Be(this,Le,"f").clear()}))}},Ze=new class{constructor(t){oe.set(this,void 0),ae.set(this,new Set),ce.set(this,new Set),he.set(this,new Map),le(this,oe,t,"f")}dispatch(){for(const t of fe(this,ae,"f"))t();for(const t of fe(this,ce,"f"))t()}computed(t){const e=fe(this,oe,"f").signal(t());return fe(this,ae,"f").add((()=>{e.value=t()})),e}track(t,e){let r=!0;const s=()=>{const s=t(),n=fe(this,he,"f").get(t);!r&&Qt.equal(s,n)||(r=!1,fe(this,he,"f").set(t,s),e(s))};return s(),fe(this,ce,"f").add(s),t()}stateTree(t){return new ie(t,(()=>this.dispatch()))}}(Ve);Ie.state.bind(Ie),Ve.signal.bind(Ve);const Je=new class{constructor(t,e){this.flat=t,this.signals=e,de.set(this,Promise.resolve())}get wait(){return Promise.all([this.flat.wait,this.signals.wait]).then((()=>ue(this,de,"f")))}reaction(t,e){const r=e?()=>e(n()):()=>n(),s=this.lean(r),n=()=>s.collect(t);return n(),s.stop}lean(t){const e=this.flat.lean(t),r=this.signals.lean(t);return{stop(){e.stop(),r.stop()},collect:t=>e.collect((()=>r.collect(t)))}}}(Ie,Ve);var Ke=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class Ge extends(function(t){var e,r,s;return s=class extends t{constructor(){super(...arguments),e.set(this,(new Set).add((()=>this.setup()))),r.set(this,new Set)}register_setup(t){Ke(this,e,"f").add(t)}setup(){return()=>{}}connectedCallback(){for(const t of Ke(this,e,"f"))Ke(this,r,"f").add(t())}disconnectedCallback(){for(const t of Ke(this,r,"f"))t();Ke(this,r,"f").clear()}},e=new WeakMap,r=new WeakMap,s}(HTMLElement)){}function Qe(){let t,e;return{promise:new Promise(((r,s)=>{t=r,e=s})),resolve:t,reject:e}}function Fe(t,e){o(t,function(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}(e))}var Xe,Ye,tr,er,rr=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},sr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class nr extends Ge{static get styles(){}init(){}constructor(){super(),Xe.set(this,void 0),Ye.set(this,Qe()),tr.set(this,sr(this,Ye,"f").promise),er.set(this,Pt(0,(()=>{const t=sr(this,Xe,"f"),e=this.render();e&&it(e,t,{host:this})}))),rr(this,Xe,this.attachShadow({mode:"open"}),"f");const t=this.constructor;Fe(sr(this,Xe,"f"),t.styles),this.init()}get root(){return sr(this,Xe,"f")}get updateComplete(){return sr(this,tr,"f").then((()=>!0))}render(){}async requestUpdate(){const t=sr(this,er,"f").call(this);return sr(this,Ye,"f")&&(t.then(sr(this,Ye,"f").resolve),rr(this,Ye,void 0,"f")),rr(this,tr,t,"f"),t}connectedCallback(){super.connectedCallback(),this.requestUpdate()}}Xe=new WeakMap,Ye=new WeakMap,tr=new WeakMap,er=new WeakMap;var ir,or=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};ir=new WeakMap;var ar,cr=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},hr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class lr{constructor(t){ar.set(this,void 0),cr(this,ar,t,"f")}get context(){if(hr(this,ar,"f"))return hr(this,ar,"f");throw new Error("nexus.context was not set, but it's necessary")}set context(t){cr(this,ar,t,"f")}}ar=new WeakMap;var fr,dr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},ur=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};function pr(t){return[t].flat().filter((t=>!!t))}!function(t){t.css=function(...t){return function(e){return class extends e{static get styles(){return mr(e.styles,t)}}}},t.css_deferred=function(t){return function(e){return class extends e{static get styles(){return mr(e.styles,t())}}}},t.signals=function(t){return function(e){var r,s;return s=class extends e{constructor(){super(...arguments),r.set(this,null)}render(){var t;return null===(t=dr(this,r,"f"))||void 0===t?void 0:t.collect((()=>super.render()))}connectedCallback(){super.connectedCallback(),ur(this,r,t.lean((()=>this.requestUpdate())),"f")}disconnectedCallback(){super.disconnectedCallback(),dr(this,r,"f")&&(dr(this,r,"f").stop(),ur(this,r,null,"f"))}},r=new WeakMap,s}},t.flat=function(t){return function(e){var r,s;return s=class extends e{constructor(){super(...arguments),r.set(this,null)}render(){var t;return null===(t=dr(this,r,"f"))||void 0===t?void 0:t.collect((()=>super.render()))}connectedCallback(){super.connectedCallback(),ur(this,r,t.lean((()=>this.requestUpdate())),"f")}disconnectedCallback(){super.disconnectedCallback(),dr(this,r,"f")&&(dr(this,r,"f").stop(),ur(this,r,null,"f"))}},r=new WeakMap,s}},t.reactor=function(t=Je){return function(e){var r,s;return s=class extends e{constructor(){super(...arguments),r.set(this,null)}render(){var t;return null===(t=dr(this,r,"f"))||void 0===t?void 0:t.collect((()=>super.render()))}connectedCallback(){super.connectedCallback(),ur(this,r,t.lean((()=>this.requestUpdate())),"f")}disconnectedCallback(){super.disconnectedCallback(),dr(this,r,"f")&&(dr(this,r,"f").stop(),ur(this,r,null,"f"))}},r=new WeakMap,s}}}(fr||(fr={}));const wr=t=>void 0!==t;function mr(t,e){var r;return[...null!==(r=pr(t))&&void 0!==r?r:[],...pr(e)].flat().filter(wr)}var vr,yr,br=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r},gr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)};class $r{static with(t){return new this(t)}constructor(t){vr.set(this,void 0),br(this,vr,t,"f")}to(t){return new $r(t(gr(this,vr,"f")))}done(){return gr(this,vr,"f")}}vr=new WeakMap,function(t){t.css=t=>e=>me.map(e,(e=>fr.css(t)(e))),t.flat=t=>e=>me.map(e,(e=>fr.flat(t)(e))),t.signals=t=>e=>me.map(e,(e=>fr.signals(t)(e))),t.reactor=(t=Je)=>e=>me.map(e,(e=>fr.reactor(t)(e))),t.context=e=>r=>$r.with(r).to(t.css(e.theme)).to(t.reactor()).done()}(yr||(yr={}));const _r=2;class Er{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)}}const Ar=(t,e)=>{const r=t._$AN;if(void 0===r)return!1;for(const t of r)t._$AO?.(e,!1),Ar(t,e);return!0},kr=t=>{let e,r;do{if(void 0===(e=t._$AM))break;r=e._$AN,r.delete(t),t=e}while(0===r?.size)},Tr=t=>{for(let e;e=t._$AM;t=e){let r=e._$AN;if(void 0===r)e._$AN=r=new Set;else if(r.has(t))break;r.add(t),Pr(e)}};function Mr(t){void 0!==this._$AN?(kr(this),this._$AM=t,Tr(this)):this._$AM=t}function Cr(t,e=!1,r=0){const s=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(e)if(Array.isArray(s))for(let t=r;t<s.length;t++)Ar(s[t],!1),kr(s[t]);else null!=s&&(Ar(s,!1),kr(s));else Ar(this,t)}const Pr=t=>{t.type==_r&&(t._$AP??=Cr,t._$AQ??=Mr)};class Sr extends Er{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),Tr(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(Ar(this,t),kr(this))}setValue(t){if((t=>void 0===t.strings)(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}var xr,Wr,jr,Ur,Or,Nr,Hr,Rr,zr,qr,Dr,Lr,Br,Ir,Vr,Zr,Jr=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Kr=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class Gr{static wrap(t,e){return(...r)=>(Jr(t,jr,"f").reset(),e(...r))}static disconnect(t){for(const e of Jr(t,Or,"f"))e();Jr(t,Or,"f").clear();for(const e of Jr(t,Rr,"f"))e();Jr(t,Rr,"f").clear(),Jr(t,Hr,"f").clear()}static reconnect(t){for(const e of Jr(t,Ur,"f").values())Jr(t,Or,"f").add(e());for(const[e,r]of Jr(t,Nr,"f").entries()){const[s,n]=r();Jr(t,Hr,"f").set(e,s),Jr(t,Rr,"f").add(n)}}static afterRender(t){for(const[e,r]of Jr(t,qr,"f")){const s=r();Jr(t,Dr,"f").set(e,s)}}constructor(t,e){xr.set(this,void 0),Wr.set(this,void 0),jr.set(this,new Qr),Ur.set(this,new Map),Or.set(this,new Set),Nr.set(this,new Map),Hr.set(this,new Map),Rr.set(this,new Set),zr.set(this,new Map),qr.set(this,new Map),Dr.set(this,new Map),Lr.set(this,new Map),Br.set(this,new Map),Ir.set(this,new Map),Vr.set(this,new Map),Kr(this,Wr,t,"f"),Kr(this,xr,e,"f")}get context(){return Jr(this,xr,"f")}rerender(){Jr(this,Wr,"f").call(this)}setup(t){const e=Jr(this,jr,"f").pull();Jr(this,Ur,"f").has(e)||(Jr(this,Ur,"f").set(e,t),Jr(this,Or,"f").add(t()))}init(t){const e=Jr(this,jr,"f").pull();if(!Jr(this,Nr,"f").has(e)){Jr(this,Nr,"f").set(e,t);const[r,s]=t();return Jr(this,Hr,"f").set(e,r),Jr(this,Rr,"f").add(s),r}return Jr(this,Hr,"f").get(e)}prepare(t){const e=Jr(this,jr,"f").pull();return pt(Jr(this,zr,"f")).grab(e,t)}afterRender(t){const e=Jr(this,jr,"f").pull();return Jr(this,qr,"f").has(e)||Jr(this,qr,"f").set(e,t),Jr(this,Dr,"f").get(e)}state(t){const e=Jr(this,jr,"f").pull();return[pt(Jr(this,Lr,"f")).grab(e,(()=>"function"==typeof t?t():t)),t=>{Jr(this,Lr,"f").set(e,t),Jr(this,Wr,"f").call(this)},()=>Jr(this,Lr,"f").get(e)]}flatstate(t){const e=Jr(this,jr,"f").pull();return pt(Jr(this,Br,"f")).grab(e,(()=>Ie.state("function"==typeof t?t():t)))}signal(t){const e=Jr(this,jr,"f").pull();return pt(Jr(this,Ir,"f")).grab(e,(()=>Ve.signal("function"==typeof t?t():t)))}computed(t){const e=Jr(this,jr,"f").pull();return pt(Jr(this,Ir,"f")).grab(e,(()=>Ve.computed(t)))}op(){const t=Jr(this,jr,"f").pull();return pt(Jr(this,Ir,"f")).grab(t,(()=>Ve.op()))}watch(t){const e=Jr(this,jr,"f").pull();return pt(Jr(this,Vr,"f")).grab(e,(()=>Ze.track(t,(t=>{Jr(this,Vr,"f").set(e,t),Jr(this,Wr,"f").call(this)}))))}}xr=new WeakMap,Wr=new WeakMap,jr=new WeakMap,Ur=new WeakMap,Or=new WeakMap,Nr=new WeakMap,Hr=new WeakMap,Rr=new WeakMap,zr=new WeakMap,qr=new WeakMap,Dr=new WeakMap,Lr=new WeakMap,Br=new WeakMap,Ir=new WeakMap,Vr=new WeakMap;class Qr{constructor(){Zr.set(this,0)}pull(){var t,e;return Kr(this,Zr,(e=Jr(this,Zr,"f"),t=e++,e),"f"),t}reset(){Kr(this,Zr,0,"f")}}Zr=new WeakMap;var Fr,Xr,Yr,ts=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},es=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class rs extends Gr{get element(){return ts(this,Fr,"f")}get shadow(){return ts(this,Xr,"f")}styles(t){this.prepare((()=>Fe(this.shadow,[this.context.theme,null!=t?t:i``])))}constructor(t,e,r,s){super(r,s),Fr.set(this,void 0),Xr.set(this,void 0),es(this,Fr,t,"f"),es(this,Xr,e,"f")}}function ss(t){let e;return function(r){return e||(e=function(t,e){return Yr.on_change(t,(()=>t.requestUpdate())),Yr.proxy(t,e)}(t,r)),e}}Fr=new WeakMap,Xr=new WeakMap,function(t){t.proxy=(t,e)=>new Proxy(e,{get:(r,s)=>{const n=e[s],i=t.getAttribute(s);switch(n){case String:return null!=i?i:void 0;case Number:return null!==i?Number(i):void 0;case Boolean:return null!==i;default:throw new Error(`invalid attribute type for "${s}"`)}},set:(r,s,n)=>{switch(e[s]){case String:return t.setAttribute(s,n),!0;case Number:return t.setAttribute(s,n.toString()),!0;case Boolean:return n?t.setAttribute(s,""):t.removeAttribute(s),!0;default:throw new Error(`invalid attribute type for "${s}"`)}}}),t.on_change=function(t,e){const r=new MutationObserver(e);return r.observe(t,{attributes:!0}),()=>r.disconnect()}}(Yr||(Yr={}));class ns extends rs{constructor(t,e,r,s){super(t,e,r,s),this.attrs=ss(t)}}var is,os=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},as=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class cs extends Gr{get element(){return os(this,is,"f")}constructor(t,e,r){super(e,r),is.set(this,void 0),as(this,is,t,"f"),this.attrs=ss(t)}}is=new WeakMap;class hs extends ns{}class ls extends cs{}class fs extends Gr{name(t){this.prepare((()=>this.element.setAttribute("view",t)))}constructor(t,e,r){super(e,r),this.element=t}}class ds extends rs{name(t){this.prepare((()=>this.element.setAttribute("view",t)))}}function us(){const t=new Set;function e(e){return t.add(e),()=>{t.delete(e)}}return e.publish=e=>{for(const r of t)r(e)},e.clear=()=>t.clear(),e.once=e=>{const r=s=>{e(s),t.delete(r)};return t.add(r),()=>{t.delete(r)}},e}const ps=t=>{for(const[e,r]of Object.entries(t))customElements.define(e.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase(),r)};class ws extends HTMLElement{constructor(){super(...arguments),this.onConnected=us(),this.onDisconnected=us()}connectedCallback(){this.onConnected.publish()}disconnectedCallback(){this.onDisconnected.publish()}}function ms(t,e){const r=Je.lean(e);return{stop:r.stop,render:(...e)=>r.collect((()=>t(...e)))}}ws.tag="slate-view",ps({SlateView:ws});var vs=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},ys=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};const bs=t=>e=>{var r,s,n,i,o,a,c,h,l;return(t=>(...e)=>({_$litDirective$:t,values:e}))((l=class extends Sr{constructor(){super(...arguments),r.add(this),s.set(this,void 0),n.set(this,document.createElement(ws.tag)),o.set(this,Pt(0,(()=>{vs(this,s,"f")&&this.setValue(vs(this,r,"m",i).call(this,this.render(...vs(this,s,"f"))))}))),a.set(this,new fs(vs(this,n,"f"),vs(this,o,"f"),t.context)),c.set(this,fs.wrap(vs(this,a,"f"),e(vs(this,a,"f")))),h.set(this,ms(vs(this,c,"f"),vs(this,o,"f")))}update(t,e){return vs(this,r,"m",i).call(this,this.render(...e))}render(...t){var e;return ys(this,s,t,"f"),null===(e=vs(this,h,"f"))||void 0===e?void 0:e.render(...t)}reconnected(){fs.reconnect(vs(this,a,"f")),ys(this,h,ms(vs(this,c,"f"),vs(this,o,"f")),"f")}disconnected(){fs.disconnect(vs(this,a,"f")),vs(this,h,"f")&&(vs(this,h,"f").stop(),ys(this,h,void 0,"f"))}},s=new WeakMap,n=new WeakMap,o=new WeakMap,a=new WeakMap,c=new WeakMap,h=new WeakMap,r=new WeakSet,i=function(t){return it(t,vs(this,n,"f")),fs.afterRender(vs(this,a,"f")),vs(this,n,"f")},l))};function gs(...t){const e=new Set,r=t.map((t=>null!=t?t:"")).flatMap($s);for(const t of r)e.add(t);return e}function $s(t){return t.split(/\s+/).map((t=>t.trim())).filter((t=>!!t))}function _s(t){return t.split(",").map((t=>t.trim())).filter((t=>!!t)).map((t=>t.includes(":")?t.split(":").map((t=>t.trim()))[1]:t))}function Es(t,e){const r=gs(t.getAttribute("part")),s=gs(t.getAttribute("data-gpart")),n=function(t,e){return Object.fromEntries(Object.entries(e).map((([e,r])=>[e,Array.from(t.querySelectorAll(`[${r}]`)).map((t=>t.getAttribute(r)))])))}(e,{part:"part",gpart:"data-gpart",exportparts:"exportparts",gexportparts:"gexportparts"}),i=new Set([...n.part.flatMap($s),...n.exportparts.flatMap(_s)]),o=new Set([...n.gpart.flatMap($s),...n.gexportparts.flatMap($s)]);i.size&&t.setAttribute("exportparts",[...r].flatMap(function(t,e){return r=>[...t].flatMap((t=>[`${t}:${r}-${t}`,...e.has(t)?[t]:[]]))}(i,o)).join(", ")),(o.size||t.hasAttribute("data-gpart"))&&t.setAttribute("gexportparts",[...o,...[...s].flatMap((t=>[...i].map((e=>`${t}-${e}`))))].join(" "))}function As(t,e={},r={}){const{content:s,attrs:n={}}=e,{attrs:i={}}=r;function o(e,r,s,n){e!==r&&(void 0===e?t.removeAttribute(s):t.setAttribute(s,n()))}n&&function(t,e){for(const[r,s]of Object.entries(e))"string"==typeof s?t.setAttribute(r,s):"number"==typeof s?t.setAttribute(r,s.toString()):"boolean"==typeof s?!0===s?t.setAttribute(r,""):t.removeAttribute(r):void 0===s?t.removeAttribute(r):console.warn(`invalid attribute type ${r} is ${typeof s}`)}(t,n),o(n.class,null==i?void 0:i.class,"class",(()=>n.class)),o(n.part,null==i?void 0:i.part,"part",(()=>n.part)),o(n.gpart,null==i?void 0:i.gpart,"data-gpart",(()=>n.gpart)),s&&it(s,t,{host:t})}var ks=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Ts=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};const Ms=t=>e=>{var r,s,n,i,o,a,c,h;return(t=>(e,r={})=>({_$litDirective$:t,values:[{meta:r,props:e}]}))((h=class extends Sr{constructor(){super(...arguments),r.set(this,void 0),s.set(this,!0),n.set(this,function({afterRender:t,onConnected:e,onDisconnected:r}){const s=document.createElement(ws.tag);s.onConnected(e),s.onDisconnected(r);const n=s.attachShadow({mode:"open"});let i=!1;return{container:s,shadow:n,set auto_exportparts(t){i=t},render_into_shadow:e=>(it(e,n),i&&Es(s,n),t(),s)}}({afterRender:()=>ds.afterRender(ks(this,o,"f")),onDisconnected:()=>this.disconnected(),onConnected:()=>{ks(this,s,"f")||this.reconnected(),Ts(this,s,!1,"f")}})),i.set(this,Pt(0,(()=>{ks(this,r,"f")&&this.setValue(ks(this,n,"f").render_into_shadow(this.render(ks(this,r,"f"))))}))),o.set(this,new ds(ks(this,n,"f").container,ks(this,n,"f").shadow,ks(this,i,"f"),t.context)),a.set(this,ds.wrap(ks(this,o,"f"),e(ks(this,o,"f")))),c.set(this,ms(ks(this,a,"f"),ks(this,i,"f")))}update(t,e){return ks(this,n,"f").render_into_shadow(this.render(...e))}render(t){var e,s,i;return As(ks(this,n,"f").container,t.meta,null===(e=ks(this,r,"f"))||void 0===e?void 0:e.meta),Ts(this,r,t,"f"),ks(this,n,"f").auto_exportparts=null===(s=t.meta.auto_exportparts)||void 0===s||s,null===(i=ks(this,c,"f"))||void 0===i?void 0:i.render(...t.props)}reconnected(){ds.reconnect(ks(this,o,"f")),Ts(this,c,ms(ks(this,a,"f"),ks(this,i,"f")),"f")}disconnected(){ds.disconnect(ks(this,o,"f")),ks(this,c,"f")&&(ks(this,c,"f").stop(),Ts(this,c,void 0,"f"))}},r=new WeakMap,s=new WeakMap,n=new WeakMap,i=new WeakMap,o=new WeakMap,a=new WeakMap,c=new WeakMap,h))};var Cs,Ps,Ss,xs=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Ws=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};class js extends Ge{init(){}constructor(){super(),Cs.set(this,Qe()),Ps.set(this,xs(this,Cs,"f").promise),Ss.set(this,Pt(0,(()=>{const t=this.render();it(t,this,{host:this})}))),this.init()}get updateComplete(){return xs(this,Ps,"f").then((()=>!0))}render(){}async requestUpdate(){const t=xs(this,Ss,"f").call(this);return xs(this,Cs,"f")&&(t.then(xs(this,Cs,"f").resolve),Ws(this,Cs,void 0,"f")),Ws(this,Ps,t,"f"),t}connectedCallback(){super.connectedCallback(),this.requestUpdate()}}Cs=new WeakMap,Ps=new WeakMap,Ss=new WeakMap;var Us=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Os=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};const Ns=t=>e=>{var r,s,n,i;return i=class extends js{constructor(){super(...arguments),r.set(this,new ls(this,(()=>{this.requestUpdate()}),t.context)),s.set(this,ls.wrap(Us(this,r,"f"),(()=>e(Us(this,r,"f"))))),n.set(this,void 0)}render(){var t;return this.updateComplete.then((()=>ls.afterRender(Us(this,r,"f")))),null===(t=Us(this,n,"f"))||void 0===t?void 0:t.render()}connectedCallback(){super.connectedCallback(),Os(this,n,ms(Us(this,s,"f"),(()=>{this.requestUpdate()})),"f"),ls.reconnect(Us(this,r,"f"))}disconnectedCallback(){super.disconnectedCallback(),Us(this,n,"f")&&(Us(this,n,"f").stop(),Os(this,n,void 0,"f")),ls.disconnect(Us(this,r,"f"))}},r=new WeakMap,s=new WeakMap,n=new WeakMap,i};var Hs=function(t,e,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(t):s?s.value:e.get(t)},Rs=function(t,e,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,r):n?n.value=r:e.set(t,r),r};const zs=t=>e=>{var r,s,n,i;return i=class extends nr{constructor(){super(...arguments),r.set(this,new hs(this,this.root,(()=>{this.requestUpdate()}),t.context)),s.set(this,hs.wrap(Hs(this,r,"f"),(()=>e(Hs(this,r,"f"))))),n.set(this,void 0)}render(){var t;return this.updateComplete.then((()=>hs.afterRender(Hs(this,r,"f")))),null===(t=Hs(this,n,"f"))||void 0===t?void 0:t.render()}connectedCallback(){super.connectedCallback(),hs.reconnect(Hs(this,r,"f")),Rs(this,n,ms(Hs(this,s,"f"),(()=>{this.requestUpdate()})),"f")}disconnectedCallback(){super.disconnectedCallback(),hs.disconnect(Hs(this,r,"f")),Hs(this,n,"f")&&(Hs(this,n,"f").stop(),Rs(this,n,void 0,"f"))}},r=new WeakMap,s=new WeakMap,n=new WeakMap,i};class qs{constructor(){this.theme=i` | ||
* { | ||
@@ -7,10 +7,10 @@ margin: 0; | ||
} | ||
`}}const Rs=new class extends lr{constructor(t){super(t),this.light_component=ps(this),this.shadow_component=is(this),this.light_view=Ts(this),this.shadow_view=Hs(this)}components(t){return yr.context(this.context)(t)}},qs=(t,...e)=>L(t,...e.map((t=>t instanceof ke?t.value:t))),Ds=i`span { color: green }`;let Ls=0,Bs=0;const Is=Rs.shadow_view({styles:Ds},(t=>e=>{const r=++Ls,s=t.signal(e);return qs` | ||
`}}const Ds=new class extends lr{constructor(t){super(t),this.light_component=Ns(this),this.shadow_component=zs(this),this.light_view=bs(this),this.shadow_view=Ms(this)}components(t){return yr.context(this.context)(t)}},Ls=(t,...e)=>L(t,...e.map((t=>t instanceof Me?t.value:t))),Bs=i`span { color: green }`;let Is=0,Vs=0;const Zs=Ds.shadow_view((t=>e=>{t.styles(Bs);const r=++Is,s=t.signal(e);return Ls` | ||
<span>${s} (renders ${r})</span> | ||
<button @click=${()=>s.value+=1}>outer</button> | ||
${Vs([1])} | ||
`})),Vs=Rs.shadow_view({styles:Ds},(t=>e=>{const r=++Bs,s=t.signal(e);return qs` | ||
${Js([1])} | ||
`})),Js=Ds.shadow_view((t=>e=>{t.styles(Bs);const r=++Vs,s=t.signal(e);return Ls` | ||
<span>${s} (renders ${r})</span> | ||
<button @click=${()=>s.value+=1}>inner</button> | ||
`})),Zs=Rs.light_view((t=>e=>{const[r,s]=t.state(e),n=t.flatstate({count:e}),i=t.signal(e);return qs` | ||
`})),Ks=Ds.light_view((t=>e=>{t.name("quartz-tripler");const[r,s]=t.state(e),n=t.flatstate({count:e}),i=t.signal(e);return Ls` | ||
<span>${r}</span> | ||
@@ -24,12 +24,12 @@ <button @click=${()=>s(3*r)}>quartz-a</button> | ||
<button @click=${()=>i.value*=3}>quartz-c</button> | ||
`})),Js=i`span { color: yellow }`,Ks=Rs.shadow_view({name:"quadrupler",styles:Js},(t=>e=>{const r=t.signal(e);return qs` | ||
`})),Gs=Ds.shadow_view((t=>e=>{t.name("quadrupler"),t.styles(i`span { color: yellow }`);const r=t.signal(e);return Ls` | ||
<span>${r}</span> | ||
<button @click=${()=>r.value*=4}>obsidian</button> | ||
`}));const Gs=()=>Math.ceil(1e3*Math.random()),Qs=i`button { color: green }`,Fs=Rs.shadow_component({styles:Qs},(t=>{const e=t.signal(Gs);return qs` | ||
`}));const Qs=()=>Math.ceil(1e3*Math.random()),Fs=Ds.shadow_component((t=>{t.styles(i`button { color: green }`);const e=t.signal(Qs);return Ls` | ||
<span>${e}</span> | ||
<button @click=${()=>e.value=Gs()}>carbon</button> | ||
`})),Xs=Rs.light_component((t=>{const e=t.signal(256);return qs` | ||
<button @click=${()=>e.value=Qs()}>carbon</button> | ||
`})),Xs=Ds.light_component((t=>{const e=t.signal(256);return Ls` | ||
<span>${e}</span> | ||
<button @click=${()=>e.value-=8}>oxygen</button> | ||
`}));Rs.context=new class extends zs{constructor(t){super(),this.theme=t}}(i` | ||
`}));Ds.context=new class extends qs{constructor(t){super(),this.theme=t}}(i` | ||
button { | ||
@@ -39,10 +39,10 @@ font-weight: bold; | ||
} | ||
`),Ms({SlateCarbon:Fs,SlateOxygen:Xs,...Rs.components({SlateGold:class extends nr{constructor(){super(...arguments),ir.set(this,Ie.state({count:0}))}static get styles(){return i`span {color: orange}`}render(){return L` | ||
`),ps({SlateCarbon:Fs,SlateOxygen:Xs,...Ds.components({SlateGold:class extends nr{constructor(){super(...arguments),ir.set(this,Ie.state({count:0}))}static get styles(){return i`span {color: orange}`}render(){return L` | ||
<span>${or(this,ir,"f").count}</span> | ||
<button @click=${()=>or(this,ir,"f").count++}>gold</button> | ||
`}},SlateSilver:class extends ds{render(){return L` | ||
${Zs(1)} | ||
${Ks([33])} | ||
`}},SlateSilver:class extends js{render(){return L` | ||
${Ks(1)} | ||
${Gs([33])} | ||
<br/> | ||
${Is([1])} | ||
${Zs([1])} | ||
`}}})}); |
export declare namespace Op { | ||
type Mode = "loading" | "error" | "ready"; | ||
type Status = "loading" | "error" | "ready"; | ||
type Loading = { | ||
mode: "loading"; | ||
status: "loading"; | ||
}; | ||
type Error = { | ||
mode: "error"; | ||
status: "error"; | ||
reason: string; | ||
}; | ||
type Ready<X> = { | ||
mode: "ready"; | ||
status: "ready"; | ||
payload: X; | ||
@@ -20,7 +20,8 @@ }; | ||
const is: Readonly<{ | ||
loading: (op: For<any>) => boolean; | ||
error: (op: For<any>) => boolean; | ||
ready: (op: For<any>) => boolean; | ||
loading: (op: For<any>) => op is Loading; | ||
error: (op: For<any>) => op is Error; | ||
ready: <X>(op: For<X>) => op is Ready<X>; | ||
}>; | ||
function payload<X>(op: For<X>): X | undefined; | ||
function reason<X>(op: For<X>): string | undefined; | ||
type Choices<X, R> = { | ||
@@ -27,0 +28,0 @@ loading: () => R; |
const JsError = Error; | ||
export var Op; | ||
(function (Op) { | ||
Op.loading = () => ({ mode: "loading" }); | ||
Op.error = (reason) => ({ mode: "error", reason }); | ||
Op.ready = (payload) => ({ mode: "ready", payload }); | ||
Op.loading = () => ({ status: "loading" }); | ||
Op.error = (reason) => ({ status: "error", reason }); | ||
Op.ready = (payload) => ({ status: "ready", payload }); | ||
Op.is = Object.freeze({ | ||
loading: (op) => op.mode === "loading", | ||
error: (op) => op.mode === "error", | ||
ready: (op) => op.mode === "ready", | ||
loading: (op) => op.status === "loading", | ||
error: (op) => op.status === "error", | ||
ready: (op) => op.status === "ready", | ||
}); | ||
function payload(op) { | ||
return (op.mode === "ready") | ||
return (op.status === "ready") | ||
? op.payload | ||
@@ -18,4 +18,10 @@ : undefined; | ||
Op.payload = payload; | ||
function reason(op) { | ||
return (op.status === "error") | ||
? op.reason | ||
: undefined; | ||
} | ||
Op.reason = reason; | ||
function select(op, choices) { | ||
switch (op.mode) { | ||
switch (op.status) { | ||
case "loading": | ||
@@ -29,3 +35,3 @@ return choices.loading(); | ||
console.error("op", op); | ||
throw new JsError("invalid op mode"); | ||
throw new JsError("invalid op status"); | ||
} | ||
@@ -32,0 +38,0 @@ } |
import { Op } from "./op.js"; | ||
import type { TemplateResult } from "lit"; | ||
import type { DirectiveResult } from "lit/async-directive.js"; | ||
type Result = TemplateResult | DirectiveResult | void; | ||
export declare function prep_render_op({ loading, error }: { | ||
loading: () => TemplateResult; | ||
error: (reason: string) => TemplateResult; | ||
}): <X>(op: Op.For<X>, on_ready: (value: X) => TemplateResult | DirectiveResult | void) => void | TemplateResult | DirectiveResult<import("lit-html/directive.js").DirectiveClass>; | ||
loading: () => Result; | ||
error: (reason: string) => Result; | ||
}): <X>(op: Op.For<X>, on_ready: (value: X) => Result) => Result; | ||
export {}; |
@@ -6,3 +6,3 @@ export * from "./flatstate/flat.js"; | ||
export * from "./reactor/types.js"; | ||
export * from "./shiny/state.js"; | ||
export * from "./nexus/state.js"; | ||
export * from "./signals/parts/circular_error.js"; | ||
@@ -9,0 +9,0 @@ export * from "./signals/parts/listener.js"; |
@@ -6,3 +6,3 @@ export * from "./flatstate/flat.js"; | ||
export * from "./reactor/types.js"; | ||
export * from "./shiny/state.js"; | ||
export * from "./nexus/state.js"; | ||
export * from "./signals/parts/circular_error.js"; | ||
@@ -9,0 +9,0 @@ export * from "./signals/parts/listener.js"; |
import { Op } from "../op/op.js"; | ||
import { Signal } from "./signal.js"; | ||
export declare class OpSignal<V> extends Signal<Op.For<V>> { | ||
constructor(); | ||
constructor(op: Op.For<V>); | ||
run(operation: () => Promise<V>): Promise<V | undefined>; | ||
@@ -9,7 +9,7 @@ setLoading(): void; | ||
setReady(payload: V): void; | ||
get loading(): boolean; | ||
get error(): boolean; | ||
get ready(): boolean; | ||
get payload(): V | undefined; | ||
isLoading(): this is Signal<Op.Loading>; | ||
isError(): this is Signal<Op.Error>; | ||
isReady(): this is Signal<Op.Ready<V>>; | ||
get payload(): this extends Signal<Op.Ready<V>> ? V : this extends Signal<Op.Loading> ? undefined : this extends Signal<Op.Error> ? undefined : V | undefined; | ||
select<R>(choices: Op.Choices<V, R>): R; | ||
} |
import { Op } from "../op/op.js"; | ||
import { Signal } from "./signal.js"; | ||
export class OpSignal extends Signal { | ||
constructor() { | ||
super(Op.loading()); | ||
constructor(op) { | ||
super(op); | ||
} | ||
@@ -19,9 +19,9 @@ async run(operation) { | ||
} | ||
get loading() { | ||
isLoading() { | ||
return Op.is.loading(this.value); | ||
} | ||
get error() { | ||
isError() { | ||
return Op.is.error(this.value); | ||
} | ||
get ready() { | ||
isReady() { | ||
return Op.is.ready(this.value); | ||
@@ -28,0 +28,0 @@ } |
import { Op } from "../op/op.js"; | ||
import { Signal } from "./signal.js"; | ||
import { Lean, ReactorCore } from "../reactor/types.js"; | ||
import { OpSignal } from "./op_signal.js"; | ||
import { Collector, Lean, ReactorCore, Responder } from "../reactor/types.js"; | ||
export declare class SignalTower implements ReactorCore { | ||
@@ -8,9 +9,9 @@ #private; | ||
computed<V>(fun: () => V): Signal<V>; | ||
op<V>(): Signal<Op.For<V>>; | ||
op<V>(op?: Op.For<V>): OpSignal<V>; | ||
many<S extends { | ||
[key: string]: any; | ||
}>(states: S): { [P in keyof S]: Signal<S[P]>; }; | ||
reaction<P>(collector: () => P, responder?: (payload: P) => void): () => void; | ||
reaction<P>(collector: Collector<P>, responder?: Responder<P>): () => void; | ||
lean(actor: () => void): Lean; | ||
get wait(): Promise<void>; | ||
} |
@@ -7,2 +7,3 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { | ||
var _SignalTower_signals, _SignalTower_waiters; | ||
import { Op } from "../op/op.js"; | ||
import { ob } from "../tools/ob.js"; | ||
@@ -28,4 +29,4 @@ import { Signal } from "./signal.js"; | ||
} | ||
op() { | ||
const signal = new OpSignal(); | ||
op(op = Op.loading()) { | ||
const signal = new OpSignal(op); | ||
__classPrivateFieldGet(this, _SignalTower_signals, "f").add(signal); | ||
@@ -32,0 +33,0 @@ return signal; |
export declare const is: { | ||
object: <X>(x: X) => x is X & object; | ||
void: (x: any) => x is null | undefined; | ||
defined: <X>(x: X) => x is NonNullable<X>; | ||
boolean: (x: any) => x is boolean; | ||
number: (x: any) => x is number; | ||
string: (x: any) => x is string; | ||
bigint: (x: any) => x is bigint; | ||
object: <X_1>(x: X_1) => x is object & X_1; | ||
array: (x: any | any[]) => x is any[]; | ||
defined: <X_1>(x: X_1) => x is NonNullable<X_1>; | ||
}; |
export const is = { | ||
void: (x) => x === undefined || x === null, | ||
defined: (x) => x !== undefined && x !== null, | ||
boolean: (x) => typeof x === "boolean", | ||
number: (x) => typeof x === "number", | ||
string: (x) => typeof x === "string", | ||
bigint: (x) => typeof x === "bigint", | ||
object: (x) => typeof x === "object" && x !== null, | ||
array: (x) => Array.isArray(x), | ||
defined: (x) => x !== undefined && x !== null, | ||
}; | ||
//# sourceMappingURL=is.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
780170
462
11717
801