{"version":3,"file":"merge_style-DkxC2kon.cjs","sources":["../../soby/dist/methods/batch.js","../../soby/dist/methods/is_observable_boolean.js","../../soby/dist/methods/is_observable_frozen.js","../../soby/dist/methods/is_untracked.js","../../soby/dist/objects/memo.js","../../soby/dist/methods/memo.js","../../soby/dist/methods/boolean.js","../../soby/dist/methods/disposed.js","../../soby/dist/methods/resolve.js","../../soby/dist/methods/for.cache.keyed.js","../../soby/dist/objects/suspense.js","../../soby/dist/methods/suspense.js","../../soby/dist/methods/for.cache.unkeyed.js","../../soby/dist/methods/for.js","../../soby/dist/methods/warmup.js","../../soby/dist/methods/switch.js","../../soby/dist/methods/ternary.js","../../soby/dist/methods/observable.js","../../soby/dist/methods/is_observable_writable.js","../../soby/dist/methods/target.js","../../soby/dist/methods/readonly.js","../../soby/dist/methods/selector.js","../../soby/dist/methods/suspended.js","../../soby/dist/methods/tick.js","../../soby/dist/methods/try_catch.js","../../soby/dist/methods/untracked.js","../src/hooks/use_resolved.ts","../src/hooks/use_event_listener.ts","../src/hooks/use_abort_controller.ts","../src/hooks/use_abort_signal.ts","../src/hooks/use_scheduler.ts","../src/hooks/use_animation_frame.ts","../src/hooks/use_animation_loop.ts","../src/hooks/use_context.ts","../src/components/suspense.context.ts","../src/components/suspense.manager.ts","../src/hooks/use_resource.ts","../src/hooks/use_fetch.ts","../src/hooks/use_idle_callback.ts","../src/hooks/use_idle_loop.ts","../src/hooks/use_interval.ts","../src/hooks/use_promise.ts","../src/hooks/use_timeout.ts","../src/components/error_boundary.ts","../src/components/for.ts","../src/hooks/use_guarded.ts","../src/components/if.ts","../src/components/suspense.ts","../src/components/switch.ts","../src/components/ternary.ts","../src/methods/create_context.ts","../src/methods/create_directive.ts","../src/methods/hmr.ts","../../wxt/node_modules/.pnpm/htm@3.1.1/node_modules/htm/dist/htm.module.js","../src/methods/merge_style.ts"],"sourcesContent":["/* IMPORT */\nimport { setBatch } from '../context.js';\nimport { noop } from '../utils.js';\n/* HELPERS */\nlet counter = 0;\nlet resolve = noop;\n/* MAIN */\nconst batch = async (fn, stack) => {\n    if (!counter) {\n        setBatch(new Promise(r => resolve = r));\n    }\n    try {\n        counter += 1;\n        return await fn();\n    }\n    finally {\n        counter -= 1;\n        if (!counter) {\n            setBatch(undefined);\n            resolve(stack);\n        }\n    }\n};\n/* MAIN */\nexport default batch;\n","/* IMPORT */\nimport { SYMBOL_OBSERVABLE_BOOLEAN } from '../symbols.js';\nimport { isFunction } from '../utils.js';\n/* MAIN */\nconst isObservableBoolean = (value) => {\n    return isFunction(value) && (SYMBOL_OBSERVABLE_BOOLEAN in value);\n};\n/* EXPORT */\nexport default isObservableBoolean;\n","/* IMPORT */\nimport { SYMBOL_OBSERVABLE_FROZEN, SYMBOL_OBSERVABLE_READABLE } from '../symbols.js';\nimport { isFunction } from '../utils.js';\n/* MAIN */\nconst isObservableFrozen = (value) => {\n    return isFunction(value) && ((SYMBOL_OBSERVABLE_FROZEN in value) || !!value[SYMBOL_OBSERVABLE_READABLE]?.parent?.disposed);\n};\n/* EXPORT */\nexport default isObservableFrozen;\n","/* IMPORT */\nimport { SYMBOL_UNTRACKED, SYMBOL_UNTRACKED_UNWRAPPED } from '../symbols.js';\nimport { isFunction } from '../utils.js';\n/* MAIN */\nconst isUntracked = (value) => {\n    return isFunction(value) && ((SYMBOL_UNTRACKED in value) || (SYMBOL_UNTRACKED_UNWRAPPED in value));\n};\n/* EXPORT */\nexport default isUntracked;\n","/* IMPORT */\nimport { DIRTY_MAYBE_YES, UNAVAILABLE, UNINITIALIZED } from '../constants.js';\nimport Observable from './observable.js';\nimport Observer from './observer.js';\nimport { callStack, Stack } from '../methods/debugger.js';\n/* MAIN */\nclass Memo extends Observer {\n    /* CONSTRUCTOR */\n    constructor(fn, options) {\n        super();\n        this.fn = fn;\n        this.observable = new Observable(UNINITIALIZED, options, this);\n        const { stack } = options ?? { stack: callStack('Memo init') };\n        if (options?.sync === true) {\n            this.sync = true;\n            this.update(stack);\n        }\n    }\n    /* API */\n    run(stack) {\n        const result = super.refresh(this.fn, stack);\n        if (!this.disposed && this.observables.empty()) {\n            this.disposed = true;\n        }\n        if (result !== UNAVAILABLE) {\n            this.observable.set(result);\n        }\n    }\n    stale(status, stack) {\n        const statusPrev = this.status;\n        if (statusPrev >= status)\n            return;\n        this.status = status;\n        if (statusPrev === DIRTY_MAYBE_YES)\n            return;\n        this.observable.stale(DIRTY_MAYBE_YES, stack);\n    }\n}\n/* EXPORT */\nexport default Memo;\n","/* IMPORT */\nimport isObservableFrozen from './is_observable_frozen.js';\nimport isUntracked from './is_untracked.js';\nimport { frozen, readable } from '../objects/callable.js';\nimport Memo from '../objects/memo.js';\nimport { callStack } from './debugger.js';\n/* MAIN */\nconst memo = (fn, options) => {\n    const stack = options?.stack ?? callStack();\n    if (isObservableFrozen(fn)) {\n        return fn;\n    }\n    else if (isUntracked(fn)) {\n        return frozen(fn(stack));\n    }\n    else {\n        const memo = new Memo(fn, options);\n        const observable = readable(memo.observable, stack);\n        return observable;\n    }\n};\n/* EXPORT */\nexport default memo;\n","/* IMPORT */\nimport isObservableBoolean from './is_observable_boolean.js';\nimport isObservableFrozen from './is_observable_frozen.js';\nimport isUntracked from './is_untracked.js';\nimport memo from './memo.js';\nimport { SYMBOL_OBSERVABLE_BOOLEAN } from '../symbols.js';\nimport { isFunction } from '../utils.js';\n/* MAIN */\nconst boolean = (value) => {\n    if (isFunction(value)) {\n        if (isObservableFrozen(value) || isUntracked(value)) {\n            return !!value();\n        }\n        else if (isObservableBoolean(value)) {\n            return value;\n        }\n        else {\n            const boolean = memo(() => !!value());\n            boolean[SYMBOL_OBSERVABLE_BOOLEAN] = true;\n            return boolean;\n        }\n    }\n    else {\n        return !!value;\n    }\n};\n/* EXPORT */\nexport default boolean;\n","/* IMPORT */\nimport cleanup from './cleanup.js';\nimport { readable } from '../objects/callable.js';\nimport Observable from '../objects/observable.js';\n/* MAIN */\nconst disposed = (stack) => {\n    const observable = new Observable(false);\n    const toggle = () => observable.set(true);\n    cleanup(toggle);\n    return readable(observable);\n};\n/* EXPORT */\nexport default disposed;\n","/* IMPORT */\nimport memo from './memo.js';\nimport { frozen } from '../objects/callable.js';\nimport { SYMBOL_OBSERVABLE, SYMBOL_UNTRACKED, SYMBOL_UNTRACKED_UNWRAPPED } from '../symbols.js';\nimport { isFunction } from '../utils.js';\nfunction resolve(value) {\n    if (isFunction(value)) {\n        if (SYMBOL_UNTRACKED_UNWRAPPED in value) {\n            return resolve(value());\n        }\n        else if (SYMBOL_UNTRACKED in value) {\n            return frozen(resolve(value()));\n        }\n        else if (SYMBOL_OBSERVABLE in value) {\n            return value;\n        }\n        else {\n            return memo(() => resolve(value()));\n        }\n    }\n    if (value instanceof Array) {\n        const resolved = new Array(value.length);\n        for (let i = 0, l = resolved.length; i < l; i++) {\n            resolved[i] = resolve(value[i]);\n        }\n        return resolved;\n    }\n    else {\n        return value;\n    }\n}\n/* EXPORT */\nexport default resolve;\n","/* IMPORT */\nimport { OWNER } from '../context.js';\nimport { lazySetAdd, lazySetDelete } from '../lazy.js';\nimport cleanup from './cleanup.js';\nimport resolve from './resolve.js';\nimport { frozen, readable } from '../objects/callable.js';\nimport Observable from '../objects/observable.js';\nimport Root from '../objects/root.js';\nimport { SYMBOL_CACHED, SYMBOL_SUSPENSE, SYMBOL_UNCACHED } from '../symbols.js';\nimport { callStack } from './debugger.js';\n/* HELPERS */\nconst DUMMY_INDEX = frozen(-1);\nclass MappedRoot extends Root {\n}\n/* MAIN */\nclass CacheKeyed {\n    /* CONSTRUCTOR */\n    constructor(fn) {\n        /* VARIABLES */\n        this.parent = OWNER;\n        this.suspense = OWNER.get(SYMBOL_SUSPENSE);\n        this.cache = new Map();\n        this.bool = false; // The bool is flipped with each iteration, the roots that don't have the updated one are disposed, it's like a cheap counter basically\n        this.prevCount = 0; // Number of previous items\n        this.reuseCount = 0; // Number of previous items that got reused\n        this.nextCount = 0; // Number of next items\n        /* API */\n        this.cleanup = () => {\n            if (!this.prevCount)\n                return; // There was nothing before, no need to cleanup\n            if (this.prevCount === this.reuseCount)\n                return; // All the previous items were reused, no need to cleanup\n            const { cache, bool } = this;\n            if (!cache.size)\n                return; // Nothing to dispose of\n            if (this.nextCount) { // Regular cleanup\n                cache.forEach((mapped, value) => {\n                    if (mapped.bool === bool)\n                        return;\n                    mapped.dispose(true);\n                    cache.delete(value);\n                });\n            }\n            else { // There is nothing after, disposing quickly\n                this.cache.forEach(mapped => {\n                    mapped.dispose(true);\n                });\n                this.cache = new Map();\n            }\n        };\n        this.dispose = () => {\n            if (this.suspense) {\n                lazySetDelete(this.parent, 'roots', this.roots);\n            }\n            this.prevCount = this.cache.size;\n            this.reuseCount = 0;\n            this.nextCount = 0;\n            this.cleanup();\n        };\n        this.before = () => {\n            this.bool = !this.bool;\n            this.reuseCount = 0;\n            this.nextCount = 0;\n        };\n        this.after = (values) => {\n            this.nextCount = values.length;\n            this.cleanup();\n            this.prevCount = this.nextCount;\n            this.reuseCount = 0;\n        };\n        this.map = (values) => {\n            this.before();\n            const { cache, bool, fn, fnWithIndex } = this;\n            const results = new Array(values.length);\n            let resultsCached = true; // Whether all results are cached, if so this enables an optimization\n            let resultsUncached = true; // Whether all results are anew, if so this enables an optimization in Voby\n            let reuseCount = 0;\n            const stack = callStack();\n            for (let i = 0, l = values.length; i < l; i++) {\n                const value = values[i];\n                const cached = cache.get(value);\n                if (cached && cached.bool !== bool) {\n                    resultsUncached = false;\n                    reuseCount += 1;\n                    cached.bool = bool;\n                    cached.index?.set(i);\n                    results[i] = cached.result; //TSC\n                }\n                else {\n                    resultsCached = false;\n                    const mapped = new MappedRoot(false);\n                    if (cached) {\n                        cleanup(() => mapped.dispose(true));\n                    }\n                    mapped.wrap(() => {\n                        let index = DUMMY_INDEX;\n                        if (fnWithIndex) {\n                            mapped.index = new Observable(i);\n                            index = readable(mapped.index, stack);\n                        }\n                        const result = results[i] = resolve(fn(value, index));\n                        mapped.bool = bool;\n                        mapped.result = result;\n                        if (!cached) {\n                            cache.set(value, mapped);\n                        }\n                    }, undefined, undefined, stack);\n                }\n            }\n            this.reuseCount = reuseCount;\n            this.after(values);\n            if (resultsCached) {\n                results[SYMBOL_CACHED] = true;\n            }\n            if (resultsUncached) {\n                results[SYMBOL_UNCACHED] = true;\n            }\n            return results;\n        };\n        this.roots = () => {\n            return Array.from(this.cache.values());\n        };\n        this.fn = fn;\n        this.fnWithIndex = (fn.length > 1);\n        if (this.suspense) {\n            lazySetAdd(this.parent, 'roots', this.roots);\n        }\n    }\n}\n/* EXPORT */\nexport default CacheKeyed;\n","/* IMPORT */\nimport { DIRTY_MAYBE_YES, DIRTY_YES } from '../constants.js';\nimport { OWNER } from '../context.js';\nimport { lazyArrayEach, lazyArrayPush, lazySetEach } from '../lazy.js';\nimport Effect from './effect.js';\nimport Owner from './owner.js';\nimport { SYMBOL_SUSPENSE } from '../symbols.js';\nimport { isFunction } from '../utils.js';\nimport { callStack, Stack } from '../methods/debugger.js';\n/* MAIN */\nclass Suspense extends Owner {\n    /* CONSTRUCTOR */\n    constructor() {\n        super();\n        /* VARIABLES */\n        this.parent = OWNER;\n        this.context = { ...OWNER.context, [SYMBOL_SUSPENSE]: this };\n        lazyArrayPush(this.parent, 'suspenses', this);\n        this.suspended = (OWNER.get(SYMBOL_SUSPENSE)?.suspended || 0);\n    }\n    /* API */\n    toggle(force) {\n        if (!this.suspended && !force)\n            return; // Already suspended, this can happen at instantion time\n        const suspendedPrev = this.suspended;\n        const suspendedNext = suspendedPrev + (force ? 1 : -1);\n        this.suspended = suspendedNext;\n        if (!!suspendedPrev === !!suspendedNext)\n            return; // Same state, nothing to pause or resume\n        /* NOTIFYING OBSERVERS, ROOTS AND SUSPENSES */\n        const stack = callStack();\n        this.observable?.set(!!suspendedNext);\n        const notifyOwner = (owner) => {\n            lazyArrayEach(owner.contexts, notifyOwner);\n            lazyArrayEach(owner.observers, notifyObserver);\n            lazyArrayEach(owner.suspenses, notifySuspense);\n            lazySetEach(owner.roots, notifyRoot);\n        };\n        const notifyObserver = (observer) => {\n            if (observer instanceof Effect) {\n                if (observer.status === DIRTY_MAYBE_YES || observer.status === DIRTY_YES) {\n                    if (observer.init) {\n                        observer.update(stack);\n                    }\n                    else {\n                        observer.schedule(stack);\n                    }\n                }\n            }\n            notifyOwner(observer);\n        };\n        const notifyRoot = (root) => {\n            if (isFunction(root)) {\n                root().forEach(notifyOwner);\n            }\n            else {\n                notifyOwner(root);\n            }\n        };\n        const notifySuspense = (suspense) => {\n            suspense.toggle(force);\n        };\n        notifyOwner(this);\n    }\n    wrap(fn, owner, observer, stack) {\n        return super.wrap(fn, this, undefined, stack);\n    }\n}\n/* EXPORT */\nexport default Suspense;\n","/* IMPORT */\nimport boolean from './boolean.js';\nimport effect from './effect.js';\nimport get from './get.js';\nimport Suspense from '../objects/suspense.js';\nimport { Stack } from './debugger.js';\n/* MAIN */\nconst suspense = (when, fn, stack) => {\n    const suspense = new Suspense();\n    const condition = boolean(when);\n    const toggle = () => suspense.toggle(get(condition));\n    effect(toggle, { sync: true, stack: stack });\n    return suspense.wrap(fn, undefined, undefined, stack);\n};\n/* EXPORT */\nexport default suspense;\n","/* IMPORT */\nimport { OWNER } from '../context.js';\nimport { lazySetAdd, lazySetDelete } from '../lazy.js';\nimport cleanup from './cleanup.js';\nimport get from './get.js';\nimport memo from './memo.js';\nimport resolve from './resolve.js';\nimport suspense from './suspense.js';\nimport { frozen, readable } from '../objects/callable.js';\nimport Observable from '../objects/observable.js';\nimport Root from '../objects/root.js';\nimport { SYMBOL_CACHED, SYMBOL_SUSPENSE, SYMBOL_UNCACHED } from '../symbols.js';\nimport { callStack } from './debugger.js';\n/* HELPERS */\nconst DUMMY_INDEX = frozen(-1);\nclass MappedRoot extends Root {\n}\n/* MAIN */\n//TODO: Optimize this more\nclass CacheUnkeyed {\n    /* CONSTRUCTOR */\n    constructor(fn, pooled) {\n        /* VARIABLES */\n        this.parent = OWNER;\n        this.suspense = OWNER.get(SYMBOL_SUSPENSE);\n        this.cache = new Map();\n        this.pool = [];\n        this.poolMaxSize = 0;\n        /* API */\n        this.cleanup = () => {\n            let pooled = 0;\n            let poolable = Math.max(0, this.pooled ? this.poolMaxSize - this.pool.length : 0);\n            // const stack = callStack()\n            this.cache.forEach(mapped => {\n                if (poolable > 0 && pooled++ < poolable) {\n                    mapped.suspended?.set(true);\n                    this.pool.push(mapped);\n                }\n                else {\n                    mapped.dispose(true);\n                }\n            });\n        };\n        this.dispose = () => {\n            if (this.suspense) {\n                lazySetDelete(this.parent, 'roots', this.roots);\n            }\n            this.cache.forEach(mapped => {\n                mapped.dispose(true);\n            });\n            this.pool.forEach(mapped => {\n                mapped.dispose(true);\n            });\n        };\n        this.map = (values) => {\n            const { cache, fn, fnWithIndex } = this;\n            const cacheNext = new Map();\n            const results = new Array(values.length);\n            const pool = this.pool;\n            const pooled = this.pooled;\n            let resultsCached = true; // Whether all results are cached, if so this enables an optimization\n            let resultsUncached = true; // Whether all results are anew, if so this enables an optimization in Voby\n            let leftovers = [];\n            const stack = callStack();\n            if (cache.size) {\n                for (let i = 0, l = values.length; i < l; i++) {\n                    const value = values[i];\n                    const cached = cache.get(value);\n                    if (cached) {\n                        resultsUncached = false;\n                        cache.delete(value);\n                        cacheNext.set(value, cached);\n                        cached.index?.set(i);\n                        results[i] = cached.result; //TSC\n                    }\n                    else {\n                        leftovers.push(i);\n                    }\n                }\n            }\n            else {\n                leftovers = new Array(results.length);\n            }\n            outer: for (let i = 0, l = leftovers.length; i < l; i++) {\n                const index = leftovers[i] || i;\n                const value = values[index];\n                const isDuplicate = cacheNext.has(value);\n                if (!isDuplicate) {\n                    for (const [key, mapped] of cache.entries()) {\n                        cache.delete(key);\n                        cacheNext.set(value, mapped);\n                        mapped.index?.set(index);\n                        mapped.value?.set(value);\n                        results[index] = mapped.result; //TSC\n                        continue outer;\n                    }\n                }\n                resultsCached = false;\n                let mapped;\n                if (pooled && pool.length) {\n                    mapped = pool.pop(); //TSC\n                    mapped.index?.set(index);\n                    mapped.value?.set(value);\n                    mapped.suspended?.set(false);\n                    results[index] = mapped.result; //TSC\n                }\n                else {\n                    mapped = new MappedRoot(false);\n                    mapped.wrap(() => {\n                        let $index = DUMMY_INDEX;\n                        if (fnWithIndex) {\n                            mapped.index = new Observable(index);\n                            $index = readable(mapped.index, stack);\n                        }\n                        const observable = mapped.value = new Observable(value);\n                        const suspended = pooled ? new Observable(false) : undefined;\n                        if (suspended)\n                            suspended.stack = stack;\n                        const $value = memo(() => get(observable.get())); //TSC\n                        const result = results[index] = suspended ? suspense(() => suspended.get(), () => resolve(fn($value, $index)), stack) : resolve(fn($value, $index));\n                        mapped.value = observable;\n                        mapped.result = result;\n                        mapped.suspended = suspended;\n                    }, undefined, undefined, stack);\n                }\n                if (isDuplicate) { // Expensive, not reusable\n                    cleanup(() => mapped.dispose(true));\n                }\n                else { // Cheap, reusable\n                    cacheNext.set(value, mapped);\n                }\n            }\n            this.poolMaxSize = Math.max(this.poolMaxSize, results.length);\n            this.cleanup();\n            this.cache = cacheNext;\n            if (resultsCached) {\n                results[SYMBOL_CACHED] = true;\n            }\n            if (resultsUncached) {\n                results[SYMBOL_UNCACHED] = true;\n            }\n            return results;\n        };\n        this.roots = () => {\n            return [...this.cache.values(), ...this.pool.values()];\n        };\n        this.fn = fn;\n        this.fnWithIndex = (fn.length > 1);\n        this.pooled = pooled;\n        if (this.suspense) {\n            lazySetAdd(this.parent, 'roots', this.roots);\n        }\n    }\n}\n/* EXPORT */\nexport default CacheUnkeyed;\n","/* IMPORT */\nimport cleanup from './cleanup.js';\nimport CacheKeyed from './for.cache.keyed.js';\nimport CacheUnkeyed from './for.cache.unkeyed.js';\nimport get from './get.js';\nimport isObservable from './is_observable.js';\nimport isStore from './is_store.js';\nimport memo from './memo.js';\nimport resolve from './resolve.js';\nimport untrack from './untrack.js';\nimport { frozen } from '../objects/callable.js';\nimport { SYMBOL_CACHED, SYMBOL_STORE_VALUES } from '../symbols.js';\nimport { isArray, isEqual } from '../utils.js';\nimport { callStack } from './debugger.js';\nfunction _for(values, fn, fallback = [], options) {\n    const stack = callStack();\n    if (isArray(values) && !isStore(values)) { // Fast path for plain arrays\n        const isUnkeyed = !!options?.unkeyed;\n        return frozen(untrack(() => {\n            if (values.length) {\n                return values.map((value, index) => {\n                    return resolve(fn(isUnkeyed && !isObservable(value) ? frozen(value) : value, index));\n                });\n            }\n            else {\n                return resolve(fallback);\n            }\n        }));\n    }\n    else { // Regular path\n        const { dispose, map } = options?.unkeyed ? new CacheUnkeyed(fn, !!options.pooled) : new CacheKeyed(fn); //TSC\n        cleanup(dispose);\n        const value = memo(() => {\n            return get(values) ?? [];\n        }, {\n            equals: (next, prev) => {\n                return !!next && !!prev && !next.length && !prev.length && !isStore(next) && !isStore(prev);\n            },\n            stack\n        });\n        return memo(() => {\n            const array = value();\n            if (isStore(array)) {\n                array[SYMBOL_STORE_VALUES];\n            }\n            return untrack(() => {\n                const results = map(array);\n                return results?.length ? results : resolve(fallback);\n            });\n        }, {\n            equals: (next, prev) => {\n                return isArray(next) && !!next[SYMBOL_CACHED] && isArray(prev) && isEqual(next, prev);\n            },\n            stack\n        });\n    }\n}\n/* EXPORT */\nexport default _for;\n","/* IMPORT */\nimport untrack from './untrack.js';\n/* MAIN */\n// This function ensures an Observable contains a fresh value, mainly to try to push it into a frozen state, if possible\nconst warmup = (value) => {\n    untrack(value);\n    return value;\n};\n/* EXPORT */\nexport default warmup;\n","/* IMPORT */\nimport get from './get.js';\nimport isObservableBoolean from './is_observable_boolean.js';\nimport isObservableFrozen from './is_observable_frozen.js';\nimport isUntracked from './is_untracked.js';\nimport memo from './memo.js';\nimport resolve from './resolve.js';\nimport warmup from './warmup.js';\nimport { frozen } from '../objects/callable.js';\nimport { is, isFunction } from '../utils.js';\n/* HELPERS */\nconst match = (condition, values, fallback) => {\n    for (let i = 0, l = values.length; i < l; i++) {\n        const value = values[i];\n        if (value.length === 1)\n            return value[0];\n        if (is(value[0], condition))\n            return value[1];\n    }\n    return fallback;\n};\nfunction _switch(when, values, fallback) {\n    const isDynamic = isFunction(when) && !isObservableFrozen(when) && !isUntracked(when);\n    if (isDynamic) {\n        if (isObservableBoolean(when)) {\n            return memo(() => resolve(match(when(), values, fallback)));\n        }\n        const value = warmup(memo(() => match(when(), values, fallback)));\n        if (isObservableFrozen(value)) {\n            return frozen(resolve(value()));\n        }\n        else {\n            return memo(() => resolve(get(value)));\n        }\n    }\n    else {\n        const value = match(get(when), values, fallback);\n        return frozen(resolve(value));\n    }\n}\n/* EXPORT */\nexport default _switch;\n","/* IMPORT */\nimport boolean from './boolean.js';\nimport _switch from './switch.js';\n/* MAIN */\nconst ternary = (when, valueTrue, valueFalse) => {\n    const condition = boolean(when);\n    return _switch(condition, [[true, valueTrue], [valueFalse]]);\n};\n/* EXPORT */\nexport default ternary;\n","/* IMPORT */\nimport { writable } from '../objects/callable.js';\nimport ObservableClass from '../objects/observable.js';\nimport { callStack } from './debugger.js';\nfunction observable(value, options) {\n    const stack = callStack();\n    return writable(new ObservableClass(value, options), stack);\n}\n/* EXPORT */\nexport default observable;\n","/* IMPORT */\nimport { SYMBOL_OBSERVABLE_WRITABLE } from '../symbols.js';\nimport { isFunction } from '../utils.js';\n/* MAIN */\nconst isObservableWritable = (value) => {\n    return isFunction(value) && (SYMBOL_OBSERVABLE_WRITABLE in value);\n};\n/* EXPORT */\nexport default isObservableWritable;\n","/* IMPORT */\nimport { UNAVAILABLE } from '../constants.js';\nimport { SYMBOL_OBSERVABLE_READABLE, SYMBOL_OBSERVABLE_WRITABLE } from '../symbols.js';\nimport { isFunction } from '../utils.js';\n/* MAIN */\nconst target = (observable) => {\n    if (isFunction(observable)) {\n        return observable[SYMBOL_OBSERVABLE_READABLE] || observable[SYMBOL_OBSERVABLE_WRITABLE] || UNAVAILABLE;\n    }\n    else {\n        return observable;\n    }\n};\n/* EXPORT */\nexport default target;\n","/* IMPORT */\nimport isObservableWritable from './is_observable_writable.js';\nimport target from './target.js';\nimport { readable } from '../objects/callable.js';\n/* MAIN */\nconst readonly = (observable, stack) => {\n    if (isObservableWritable(observable)) {\n        return readable(target(observable), stack);\n    }\n    else {\n        return observable;\n    }\n};\n/* EXPORT */\nexport default readonly;\n","/* IMPORT */\nimport { OBSERVABLE_FALSE, OBSERVABLE_TRUE } from '../constants.js';\nimport cleanup from './cleanup.js';\nimport effect from './effect.js';\nimport isObservableFrozen from './is_observable_frozen.js';\nimport memo from './memo.js';\nimport untrack from './untrack.js';\nimport warmup from './warmup.js';\nimport { readable } from '../objects/callable.js';\nimport Observable from '../objects/observable.js';\nimport { is } from '../utils.js';\nimport { callStack, Stack } from './debugger.js';\n/* HELPERS */\nclass DisposableMap extends Map {\n    constructor() {\n        super(...arguments);\n        this.disposed = false;\n    }\n}\nclass SelectedObservable extends Observable {\n    constructor() {\n        super(...arguments);\n        this.count = 1;\n    }\n    /* API */\n    call() {\n        if (this.selecteds.disposed)\n            return;\n        this.count -= 1;\n        if (this.count)\n            return;\n        this.selecteds.delete(this.source);\n    }\n}\n/* MAIN */\nconst selector = (source) => {\n    /* NORMALIZING SOURCE */\n    source = warmup(memo(source));\n    /* FROZEN SOURCE */\n    if (isObservableFrozen(source)) {\n        const sourceValue = untrack(source);\n        return (value) => {\n            return (value === sourceValue) ? OBSERVABLE_TRUE : OBSERVABLE_FALSE;\n        };\n    }\n    /* SELECTEDS */\n    let selecteds = new DisposableMap();\n    let selectedValue = untrack(source);\n    const stack = callStack();\n    effect((stack) => {\n        const valuePrev = selectedValue;\n        const valueNext = source();\n        if (is(valuePrev, valueNext))\n            return;\n        selectedValue = valueNext;\n        selecteds.get(valuePrev)?.set(false);\n        selecteds.get(valueNext)?.set(true);\n    }, { suspense: false, sync: true, stack });\n    /* CLEANUP ALL */\n    const cleanupAll = () => {\n        selecteds.disposed = true;\n    };\n    cleanup(cleanupAll);\n    /* SELECTOR */\n    return (value) => {\n        /* INIT */\n        let selected = selecteds.get(value);\n        if (selected) {\n            selected.count += 1;\n        }\n        else {\n            selected = new SelectedObservable(value === selectedValue);\n            selected.selecteds = selecteds;\n            selected.source = value;\n            selecteds.set(value, selected);\n        }\n        /* CLEANUP */\n        cleanup(selected);\n        /* RETURN */\n        return readable(selected);\n    };\n};\n/* EXPORT */\nexport default selector;\n","/* IMPORT */\nimport { OBSERVABLE_FALSE } from '../constants.js';\nimport { OWNER } from '../context.js';\nimport { readable } from '../objects/callable.js';\nimport Observable from '../objects/observable.js';\nimport { SYMBOL_SUSPENSE } from '../symbols.js';\n/* MAIN */\nconst suspended = (stack) => {\n    const suspense = OWNER.get(SYMBOL_SUSPENSE);\n    if (!suspense)\n        return OBSERVABLE_FALSE;\n    const observable = (suspense.observable || (suspense.observable = new Observable(!!suspense.suspended)));\n    return readable(observable, stack);\n};\n/* EXPORT */\nexport default suspended;\n","/* IMPORT */\nimport Scheduler from '../objects/scheduler.async.js';\nimport { Stack } from './debugger.js';\n/* MAIN */\nconst tick = (stack) => {\n    Scheduler.flush(stack);\n};\n/* EXPORT */\nexport default tick;\n","/* IMPORT */\nimport { OWNER } from '../context.js';\nimport memo from './memo.js';\nimport $ from './observable.js';\nimport resolve from './resolve.js';\n/* MAIN */\nconst tryCatch = (value, fn) => {\n    const observable = $();\n    return memo((stack) => {\n        const error = observable();\n        if (error) {\n            const reset = () => observable(undefined);\n            const options = { error, reset };\n            return resolve(fn(options));\n        }\n        else {\n            OWNER.errorHandler = observable;\n            return resolve(value);\n        }\n    });\n};\n/* EXPORT */\nexport default tryCatch;\n","/* IMPORT */\nimport untrack from './untrack.js';\nimport { SYMBOL_UNTRACKED } from '../symbols.js';\nimport { isFunction } from '../utils.js';\nfunction untracked(fn) {\n    const untracked = isFunction(fn) ? (...args) => untrack(() => fn(...args)) : () => fn;\n    untracked[SYMBOL_UNTRACKED] = true;\n    return untracked;\n}\n/* EXPORT */\nexport default untracked;\n","\r\n/* IMPORT */\r\n\r\nimport isObservable from '../methods/is_observable'\r\nimport { isArray, isFunction } from '../utils/lang'\r\nimport type { FN, ObservableReadonly } from '../types'\r\n\r\n/* HELPERS */\r\n\r\ntype F<T> = T extends () => infer U ? U : T\r\ntype O<T> = T extends ObservableReadonly<infer U> ? U : T\r\n\r\n/* MAIN */\r\n\r\n//TODO: Maybe port this to soby, as \"resolved\"\r\n\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8, T9>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8, T9], resolveFunction?: true): [F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>, F<T7>, F<T8>, F<T9>]\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8], resolveFunction?: true): [F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>, F<T7>, F<T8>]\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7>(value: readonly [T1, T2, T3, T4, T5, T6, T7], resolveFunction?: true): [F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>, F<T7>]\r\nfunction useResolved<T1, T2, T3, T4, T5, T6>(value: readonly [T1, T2, T3, T4, T5, T6], resolveFunction?: true): [F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>]\r\nfunction useResolved<T1, T2, T3, T4, T5>(value: readonly [T1, T2, T3, T4, T5], resolveFunction?: true): [F<T1>, F<T2>, F<T3>, F<T4>, F<T5>]\r\nfunction useResolved<T1, T2, T3, T4>(value: readonly [T1, T2, T3, T4], resolveFunction?: true): [F<T1>, F<T2>, F<T3>, F<T4>]\r\nfunction useResolved<T1, T2, T3>(value: readonly [T1, T2, T3], resolveFunction?: true): [F<T1>, F<T2>, F<T3>]\r\nfunction useResolved<T1, T2>(value: readonly [T1, T2], resolveFunction?: true): [F<T1>, F<T2>]\r\nfunction useResolved<T1>(value: readonly [T1], resolveFunction?: true): [F<T1>]\r\nfunction useResolved(value: readonly [], resolveFunction?: true): []\r\n\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8, T9>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8, T9], resolveFunction: false): [O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>, O<T7>, O<T8>, O<T9>]\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8], resolveFunction: false): [O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>, O<T7>, O<T8>]\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7>(value: readonly [T1, T2, T3, T4, T5, T6, T7], resolveFunction: false): [O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>, O<T7>]\r\nfunction useResolved<T1, T2, T3, T4, T5, T6>(value: readonly [T1, T2, T3, T4, T5, T6], resolveFunction: false): [O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>]\r\nfunction useResolved<T1, T2, T3, T4, T5>(value: readonly [T1, T2, T3, T4, T5], resolveFunction: false): [O<T1>, O<T2>, O<T3>, O<T4>, O<T5>]\r\nfunction useResolved<T1, T2, T3, T4>(value: readonly [T1, T2, T3, T4], resolveFunction: false): [O<T1>, O<T2>, O<T3>, O<T4>]\r\nfunction useResolved<T1, T2, T3>(value: readonly [T1, T2, T3], resolveFunction: false): [O<T1>, O<T2>, O<T3>]\r\nfunction useResolved<T1, T2>(value: readonly [T1, T2], resolveFunction: false): [O<T1>, O<T2>]\r\nfunction useResolved<T1>(value: readonly [T1], resolveFunction: false): [O<T1>]\r\nfunction useResolved(value: readonly [], resolveFunction: false): []\r\n\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8, T9, R>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8, T9], callback: FN<[F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>, F<T7>, F<T8>, F<T9>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8, R>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8], callback: FN<[F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>, F<T7>, F<T8>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, R>(value: readonly [T1, T2, T3, T4, T5, T6, T7], callback: FN<[F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>, F<T7>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, R>(value: readonly [T1, T2, T3, T4, T5, T6], callback: FN<[F<T1>, F<T2>, F<T3>, F<T4>, F<T5>, F<T6>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, T2, T3, T4, T5, R>(value: readonly [T1, T2, T3, T4, T5], callback: FN<[F<T1>, F<T2>, F<T3>, F<T4>, F<T5>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, T2, T3, T4, R>(value: readonly [T1, T2, T3, T4], callback: FN<[F<T1>, F<T2>, F<T3>, F<T4>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, T2, T3, R>(value: readonly [T1, T2, T3], callback: FN<[F<T1>, F<T2>, F<T3>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, T2, R>(value: readonly [T1, T2], callback: FN<[F<T1>, F<T2>], R>, resolveFunction?: true): R\r\nfunction useResolved<T1, R>(value: readonly [T1], callback: FN<[F<T1>], R>, resolveFunction?: true): R\r\nfunction useResolved<R>(value: readonly [], callback: FN<[], R>, resolveFunction?: true): R\r\n\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8, T9, R>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8, T9], callback: FN<[O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>, O<T7>, O<T8>, O<T9>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, T8, R>(value: readonly [T1, T2, T3, T4, T5, T6, T7, T8], callback: FN<[O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>, O<T7>, O<T8>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, T7, R>(value: readonly [T1, T2, T3, T4, T5, T6, T7], callback: FN<[O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>, O<T7>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, T2, T3, T4, T5, T6, R>(value: readonly [T1, T2, T3, T4, T5, T6], callback: FN<[O<T1>, O<T2>, O<T3>, O<T4>, O<T5>, O<T6>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, T2, T3, T4, T5, R>(value: readonly [T1, T2, T3, T4, T5], callback: FN<[O<T1>, O<T2>, O<T3>, O<T4>, O<T5>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, T2, T3, T4, R>(value: readonly [T1, T2, T3, T4], callback: FN<[O<T1>, O<T2>, O<T3>, O<T4>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, T2, T3, R>(value: readonly [T1, T2, T3], callback: FN<[O<T1>, O<T2>, O<T3>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, T2, R>(value: readonly [T1, T2], callback: FN<[O<T1>, O<T2>], R>, resolveFunction: false): R\r\nfunction useResolved<T1, R>(value: readonly [T1], callback: FN<[O<T1>], R>, resolveFunction: false): R\r\nfunction useResolved<R>(value: readonly [], callback: FN<[], R>, resolveFunction: false): R\r\n\r\nfunction useResolved<T>(value: T, resolveFunction?: true): F<T>\r\nfunction useResolved<T>(value: T, resolveFunction: false): O<T>\r\n\r\nfunction useResolved<T, R>(value: T, callback: FN<[F<T>], R>, resolveFunction?: true): R\r\nfunction useResolved<T, R>(value: T, callback: FN<[O<T>], R>, resolveFunction: false): R\r\n\r\nfunction useResolved(values: any, callback: any, resolveFunction?: boolean) {\r\n\r\n  const isResolvable = (resolveFunction !== false && callback !== false) ? isFunction : isObservable\r\n  const resolve = (value: any) => isResolvable(value) ? value() : value\r\n\r\n  if (isArray(values)) {\r\n\r\n    const resolved = values.map(resolve)\r\n\r\n    if (isFunction(callback)) {\r\n\r\n      return callback.apply(undefined, resolved)\r\n\r\n    } else {\r\n\r\n      return resolved\r\n\r\n    }\r\n\r\n  } else {\r\n\r\n    const resolved = resolve(values)\r\n\r\n    if (isFunction(callback)) {\r\n\r\n      return callback(resolved)\r\n\r\n    } else {\r\n\r\n      return resolved\r\n\r\n    }\r\n\r\n  }\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useResolved","\r\n/* IMPORT */\r\n\r\nimport useEffect from '../hooks/use_effect'\r\nimport useResolved from '../hooks/use_resolved'\r\nimport $$ from '../methods/SS'\r\nimport { castArray } from '../utils/lang'\r\nimport type { ArrayMaybe, Disposer, FN, FunctionMaybe, ObservableMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\nfunction useEventListener<T extends Window, U extends keyof WindowEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[WindowEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends Document, U extends keyof DocumentEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[DocumentEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends HTMLBodyElement, U extends keyof HTMLBodyElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[HTMLBodyElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends HTMLFrameSetElement, U extends keyof HTMLFrameSetElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[HTMLFrameSetElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends HTMLMediaElement, U extends keyof HTMLMediaElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[HTMLMediaElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends HTMLVideoElement, U extends keyof HTMLVideoElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[HTMLVideoElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends HTMLElement, U extends keyof HTMLElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[HTMLElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends SVGSVGElement, U extends keyof SVGSVGElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[SVGSVGElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends SVGElement, U extends keyof SVGElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[SVGElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MathMLElement, U extends keyof MathMLElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MathMLElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends Element, U extends keyof ElementEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[ElementEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends AbortSignal, U extends keyof AbortSignalEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[AbortSignalEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends AbstractWorker, U extends keyof AbstractWorkerEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[AbstractWorkerEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends Animation, U extends keyof AnimationEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[AnimationEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends BroadcastChannel, U extends keyof BroadcastChannelEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[BroadcastChannelEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends CSSAnimation, U extends keyof AnimationEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[AnimationEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends CSSTransition, U extends keyof AnimationEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[AnimationEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends FileReader, U extends keyof FileReaderEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[FileReaderEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends IDBDatabase, U extends keyof IDBDatabaseEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[IDBDatabaseEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends IDBOpenDBRequest, U extends keyof IDBOpenDBRequestEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[IDBOpenDBRequestEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends IDBRequest, U extends keyof IDBRequestEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[IDBRequestEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends IDBTransaction, U extends keyof IDBTransactionEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[IDBTransactionEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MediaDevices, U extends keyof MediaDevicesEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MediaDevicesEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MediaKeySession, U extends keyof MediaKeySessionEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MediaKeySessionEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MediaQueryList, U extends keyof MediaQueryListEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MediaQueryListEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MediaRecorder, U extends keyof MediaRecorderEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MediaRecorderEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MediaSource, U extends keyof MediaSourceEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MediaSourceEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MediaStream, U extends keyof MediaStreamEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MediaStreamEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MediaStreamTrack, U extends keyof MediaStreamTrackEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MediaStreamTrackEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends MessagePort, U extends keyof MessagePortEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[MessagePortEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends Notification, U extends keyof NotificationEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[NotificationEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends PaymentRequest, U extends keyof PaymentRequestEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[PaymentRequestEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends Performance, U extends keyof PerformanceEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[PerformanceEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends PermissionStatus, U extends keyof PermissionStatusEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[PermissionStatusEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends PictureInPictureWindow, U extends keyof PictureInPictureWindowEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[PictureInPictureWindowEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends RemotePlayback, U extends keyof RemotePlaybackEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[RemotePlaybackEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends ScreenOrientation, U extends keyof ScreenOrientationEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[ScreenOrientationEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends ServiceWorker, U extends keyof ServiceWorkerEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[ServiceWorkerEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends ServiceWorkerContainer, U extends keyof ServiceWorkerContainerEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[ServiceWorkerContainerEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends ServiceWorkerRegistration, U extends keyof ServiceWorkerRegistrationEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[ServiceWorkerRegistrationEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends ShadowRoot, U extends keyof ShadowRootEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[ShadowRootEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends SharedWorker, U extends keyof AbstractWorkerEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[AbstractWorkerEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends SourceBuffer, U extends keyof SourceBufferEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[SourceBufferEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends SourceBufferList, U extends keyof SourceBufferListEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[SourceBufferListEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends SpeechSynthesis, U extends keyof SpeechSynthesisEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[SpeechSynthesisEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends SpeechSynthesisUtterance, U extends keyof SpeechSynthesisUtteranceEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[SpeechSynthesisUtteranceEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends VisualViewport, U extends keyof VisualViewportEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[VisualViewportEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends WebSocket, U extends keyof WebSocketEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[WebSocketEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends Worker, U extends keyof WorkerEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[WorkerEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends XMLDocument, U extends keyof DocumentEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[DocumentEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends XMLHttpRequest, U extends keyof XMLHttpRequestEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[XMLHttpRequestEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends XMLHttpRequestEventTarget, U extends keyof XMLHttpRequestEventTargetEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[XMLHttpRequestEventTargetEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends XMLHttpRequestUpload, U extends keyof XMLHttpRequestEventTargetEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[XMLHttpRequestEventTargetEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends EventSource, U extends keyof EventSourceEventMap>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<U>, handler: ObservableMaybe<FN<[EventSourceEventMap[U]], void>>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer\r\nfunction useEventListener<T extends EventTarget>(target: FunctionMaybe<ArrayMaybe<T | undefined>>, event: FunctionMaybe<string>, handler: ObservableMaybe<EventListener>, options?: FunctionMaybe<true | AddEventListenerOptions>): Disposer {\r\n\r\n  const stack = new Error()\r\n\r\n  return useEffect((stack) => {\r\n\r\n    const fn = $$(handler, false)\r\n\r\n    return useResolved([target, event, options], (target, event, options) => {\r\n\r\n      const targets = castArray(target)\r\n\r\n      targets.forEach(target => {\r\n\r\n        target?.addEventListener(event, fn, options)\r\n\r\n      })\r\n\r\n      return (stack): void => {\r\n\r\n        targets.forEach(target => {\r\n\r\n          target?.removeEventListener(event, fn, options)\r\n\r\n        })\r\n\r\n      }\r\n\r\n    })\r\n\r\n  }, { sync: 'init', stack })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useEventListener","\r\n/* IMPORT */\r\n\r\nimport useCleanup from '../hooks/use_cleanup';\r\nimport useEventListener from '../hooks/use_event_listener';\r\nimport {castArray} from '../utils/lang';\r\nimport type {ArrayMaybe} from '../types';\r\n\r\n/* MAIN */\r\n\r\nconst useAbortController = ( signals: ArrayMaybe<AbortSignal> = [] ): AbortController => {\r\n\r\n  signals = castArray ( signals );\r\n\r\n  const controller = new AbortController ();\r\n  const abort = controller.abort.bind ( controller );\r\n  const aborted = signals.some ( signal => signal.aborted );\r\n\r\n  if ( aborted ) {\r\n\r\n    abort ();\r\n\r\n  } else {\r\n\r\n    signals.forEach ( signal => useEventListener ( signal, 'abort', abort ) );\r\n\r\n    useCleanup ( abort );\r\n\r\n  }\r\n\r\n  return controller;\r\n\r\n};\r\n\r\n/* EXPORT */\r\n\r\nexport default useAbortController;","\r\n/* IMPORT */\r\n\r\nimport useAbortController from '../hooks/use_abort_controller';\r\nimport type {ArrayMaybe} from '../types';\r\n\r\n/* MAIN */\r\n\r\nconst useAbortSignal = ( signals: ArrayMaybe<AbortSignal> = [] ): AbortSignal => {\r\n\r\n  return useAbortController ( signals ).signal;\r\n\r\n};\r\n\r\n/* EXPORT */\r\n\r\nexport default useAbortSignal;\r\n","\r\n/* IMPORT */\r\n\r\nimport useEffect from '../hooks/use_effect'\r\nimport useSuspended from '../hooks/use_suspended'\r\nimport $$ from '../methods/SS'\r\nimport untrack from '../methods/untrack'\r\nimport type { Disposer, FN, FunctionMaybe, ObservableMaybe } from '../types'\r\nimport { Stack } from '../soby'\r\n\r\n/* MAIN */\r\n\r\nconst useScheduler = <T, U>({ loop, once, callback, cancel, schedule, stack }: { loop?: FunctionMaybe<boolean>, once?: boolean, callback: ObservableMaybe<FN<[U]>>, cancel: FN<[T]>, schedule: ((callback: FN<[U]>) => T), stack: Stack }): Disposer => {\r\n\r\n  let executed = false\r\n  let suspended = useSuspended(stack)\r\n  let tickId: T\r\n\r\n  const work = (value: U): void => {\r\n\r\n    executed = true\r\n\r\n    if ($$(loop)) tick()\r\n\r\n    $$(callback, false)(value)\r\n\r\n  }\r\n\r\n  const tick = (): void => {\r\n\r\n    tickId = untrack(() => schedule(work))\r\n\r\n  }\r\n\r\n  const dispose = (): void => {\r\n\r\n    untrack(() => cancel(tickId))\r\n\r\n  }\r\n\r\n  useEffect(() => {\r\n\r\n    if (once && executed) return\r\n\r\n    if (suspended()) return\r\n\r\n    tick()\r\n\r\n    return dispose\r\n\r\n  }, { suspense: false, stack: stack })\r\n\r\n  return dispose\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useScheduler","\r\n/* IMPORT */\r\n\r\nimport useScheduler from '../hooks/use_scheduler'\r\nimport type { Disposer, ObservableMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst useAnimationFrame = (callback: ObservableMaybe<FrameRequestCallback>): Disposer => {\r\n  const stack = new Error()\r\n\r\n  return useScheduler({\r\n    callback,\r\n    once: true,\r\n    cancel: cancelAnimationFrame,\r\n    schedule: requestAnimationFrame,\r\n    stack\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useAnimationFrame","\r\n/* IMPORT */\r\n\r\nimport useScheduler from '../hooks/use_scheduler'\r\nimport type { Disposer, ObservableMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst useAnimationLoop = (callback: ObservableMaybe<FrameRequestCallback>): Disposer => {\r\n  const stack = new Error()\r\n\r\n  return useScheduler({\r\n    callback,\r\n    loop: true,\r\n    cancel: cancelAnimationFrame,\r\n    schedule: requestAnimationFrame,\r\n    stack\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useAnimationLoop","\r\n/* IMPORT */\r\n\r\nimport { CONTEXTS_DATA } from '../constants'\r\nimport { context } from '../soby'\r\nimport { isNil } from '../utils/lang'\r\nimport type { Context, ContextWithDefault } from '../types'\r\n\r\n/* MAIN */\r\n\r\nfunction useContext<T>(Context: ContextWithDefault<T>): T\r\nfunction useContext<T>(Context: Context<T>): T | undefined\r\nfunction useContext<T>(Context: ContextWithDefault<T> | Context<T>): T | undefined {\r\n\r\n  const { symbol, defaultValue } = CONTEXTS_DATA.get(Context) || { symbol: Symbol() }\r\n  const valueContext = context(symbol)\r\n  const value = isNil(valueContext) ? defaultValue : valueContext\r\n\r\n  return value\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useContext","\r\n/* IMPORT */\r\n\r\nimport { SYMBOL_SUSPENSE, SYMBOL_SUSPENSE_COLLECTOR } from '../constants'\r\nimport useCleanup from '../hooks/use_cleanup'\r\nimport useMemo from '../hooks/use_memo'\r\nimport $ from '../methods/S'\r\nimport { context, resolve } from '../soby'\r\nimport type { SuspenseCollectorData, SuspenseData } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst SuspenseContext = {\r\n\r\n  create: (): SuspenseData => {\r\n\r\n    const count = $(0)\r\n    const active = useMemo(() => !!count())\r\n    const increment = (nr: number = 1) => count(prev => prev + nr)\r\n    const decrement = (nr: number = -1) => queueMicrotask(() => count(prev => prev + nr))\r\n    const data = { active, increment, decrement }\r\n\r\n    const collector = context<SuspenseCollectorData>(SYMBOL_SUSPENSE_COLLECTOR)\r\n\r\n    if (collector) {\r\n\r\n      collector?.register(data)\r\n\r\n      useCleanup(() => collector.unregister(data))\r\n\r\n    }\r\n\r\n    return data\r\n\r\n  },\r\n\r\n  get: (): SuspenseData | undefined => {\r\n\r\n    return context<SuspenseData>(SYMBOL_SUSPENSE)\r\n\r\n  },\r\n\r\n  wrap: <T>(fn: (data: SuspenseData) => T) => {\r\n\r\n    const data = SuspenseContext.create()\r\n\r\n    return context({ [SYMBOL_SUSPENSE]: data }, () => {\r\n\r\n      return resolve(() => fn(data))\r\n\r\n    })\r\n\r\n  }\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default SuspenseContext","\r\n/* IMPORT */\r\n\r\nimport SuspenseContext from '../components/suspense.context';\r\nimport useCleanup from '../hooks/use_cleanup';\r\nimport type {SuspenseData} from '../types';\r\n\r\n/* MAIN */\r\n\r\nclass SuspenseManager {\r\n\r\n  /* VARIABLES */\r\n\r\n  private suspenses = new Map<SuspenseData, number> ();\r\n\r\n  /* API */\r\n\r\n  change = ( suspense: SuspenseData, nr: number ): void => {\r\n\r\n    const counter = this.suspenses.get ( suspense ) || 0;\r\n    const counterNext = Math.max ( 0, counter + nr );\r\n\r\n    if ( counter === counterNext ) return;\r\n\r\n    if ( counterNext ) {\r\n\r\n      this.suspenses.set ( suspense, counterNext );\r\n\r\n    } else {\r\n\r\n      this.suspenses.delete ( suspense );\r\n\r\n    }\r\n\r\n    if ( nr > 0 ) {\r\n\r\n      suspense.increment ( nr );\r\n\r\n    } else {\r\n\r\n      suspense.decrement ( nr );\r\n\r\n    }\r\n\r\n  };\r\n\r\n  suspend = (): void => {\r\n\r\n    const suspense = SuspenseContext.get ();\r\n\r\n    if ( !suspense ) return;\r\n\r\n    this.change ( suspense, 1 );\r\n\r\n    useCleanup ( () => {\r\n\r\n      this.change ( suspense, -1 );\r\n\r\n    });\r\n\r\n  };\r\n\r\n  unsuspend = (): void => {\r\n\r\n    this.suspenses.forEach ( ( counter, suspense ) => {\r\n\r\n      this.change ( suspense, - counter );\r\n\r\n    });\r\n\r\n  };\r\n\r\n};\r\n\r\n/* EXPORT */\r\n\r\nexport default SuspenseManager;","\r\n/* IMPORT */\r\n\r\nimport SuspenseManager from '../components/suspense.manager'\r\nimport useCheapDisposed from '../hooks/use_cheap_disposed'\r\nimport useReadonly from '../hooks/use_readonly'\r\nimport useRenderEffect from '../hooks/use_render_effect'\r\nimport $ from '../methods/S'\r\nimport $$ from '../methods/SS'\r\nimport { assign, castError, isPromise } from '../utils/lang'\r\nimport type { ObservableMaybe, PromiseMaybe, ResourceStaticPending, ResourceStaticRejected, ResourceStaticResolved, ResourceStatic, ResourceFunction, Resource } from '../types'\r\n\r\n/* MAIN */\r\n\r\n//TODO: Maybe port this to soby, as \"from\"\r\n//TODO: Option for returning the resource as a store, where also the returned value gets wrapped in a store\r\n//FIXME: SSR demo: toggling back and forth between /home and /loader is buggy, /loader gets loaded with no data, which is wrong\r\n\r\nconst useResource = <T>(fetcher: (() => ObservableMaybe<PromiseMaybe<T>>)): Resource<T> => {\r\n\r\n  const pending = $(true)\r\n  const error = $<Error>()\r\n  const value = $<T>()\r\n  const latest = $<T>()\r\n\r\n  const { suspend, unsuspend } = new SuspenseManager()\r\n  //@ts-ignore\r\n  const resourcePending: ResourceStaticPending<T> = { pending: true, get value(): undefined { return void suspend() }, get latest(): T | undefined { return latest() ?? void suspend() } }\r\n  const resourceRejected: ResourceStaticRejected = { pending: false, get error(): Error { return error()! }, get value(): never { throw error()! }, get latest(): never { throw error()! } }\r\n  const resourceResolved: ResourceStaticResolved<T> = { pending: false, get value(): T { return value()! }, get latest(): T { return value()! } }\r\n  const resourceFunction: ResourceFunction<T> = { pending: () => pending(), error: () => error(), value: () => resource().value, latest: () => resource().latest }\r\n  const resource = $<ResourceStatic<T>>(resourcePending)\r\n\r\n  const stack = new Error()\r\n\r\n  useRenderEffect(() => {\r\n\r\n    const disposed = useCheapDisposed()\r\n\r\n    const onPending = (): void => {\r\n\r\n      pending(true)\r\n      error(undefined)\r\n      value(undefined)\r\n      resource(resourcePending)\r\n\r\n    }\r\n\r\n    const onResolve = (result: T): void => {\r\n\r\n      if (disposed()) return\r\n\r\n      pending(false)\r\n      error(undefined)\r\n      value(() => result)\r\n      latest(() => result)\r\n      resource(resourceResolved)\r\n\r\n    }\r\n\r\n    const onReject = (exception: unknown): void => {\r\n\r\n      if (disposed()) return\r\n\r\n      pending(false)\r\n      error(castError(exception))\r\n      value(undefined)\r\n      latest(undefined)\r\n      resource(resourceRejected)\r\n\r\n    }\r\n\r\n    const fetch = (): void => {\r\n\r\n      try {\r\n\r\n        const value = $$(fetcher())\r\n\r\n        if (isPromise(value)) {\r\n\r\n          onPending()\r\n\r\n          value.then(onResolve, onReject)\r\n          value.then(unsuspend, unsuspend)\r\n\r\n        } else {\r\n\r\n          onResolve(value)\r\n\r\n        }\r\n\r\n      } catch (error: unknown) {\r\n\r\n        onReject(error)\r\n\r\n      }\r\n\r\n    }\r\n\r\n    fetch()\r\n  }, stack)\r\n\r\n  return assign(useReadonly(resource, stack), resourceFunction)\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useResource","\r\n/* IMPORT */\r\n\r\nimport useAbortSignal from '../hooks/use_abort_signal';\r\nimport useResolved from '../hooks/use_resolved';\r\nimport useResource from '../hooks/use_resource';\r\nimport type {FunctionMaybe, Resource} from '../types';\r\n\r\n/* MAIN */\r\n\r\nconst useFetch = ( request: FunctionMaybe<RequestInfo>, init?: FunctionMaybe<RequestInit> ): Resource<Response> => {\r\n\r\n  return useResource ( () => {\r\n\r\n    return useResolved ( [request, init], ( request, init = {} ) => {\r\n\r\n      const signal = useAbortSignal ( init.signal || [] );\r\n\r\n      init.signal = signal;\r\n\r\n      return fetch ( request, init );\r\n\r\n    });\r\n\r\n  });\r\n\r\n};\r\n\r\n/* EXPORT */\r\n\r\nexport default useFetch;\r\n","\r\n/* IMPORT */\r\n\r\nimport useScheduler from '../hooks/use_scheduler'\r\nimport $$ from '../methods/SS'\r\nimport type { Disposer, FunctionMaybe, ObservableMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst useIdleCallback = (callback: ObservableMaybe<IdleRequestCallback>, options?: FunctionMaybe<IdleRequestOptions>): Disposer => {\r\n\r\n  const stack = new Error()\r\n\r\n  return useScheduler({\r\n    callback,\r\n    once: true,\r\n    cancel: cancelIdleCallback,\r\n    schedule: callback => requestIdleCallback(callback, $$(options)),\r\n    stack\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useIdleCallback\r\n","\r\n/* IMPORT */\r\n\r\nimport useScheduler from '../hooks/use_scheduler'\r\nimport $$ from '../methods/SS'\r\nimport type { Disposer, FunctionMaybe, ObservableMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst useIdleLoop = (callback: ObservableMaybe<IdleRequestCallback>, options?: FunctionMaybe<IdleRequestOptions>): Disposer => {\r\n\r\n  const stack = new Error()\r\n\r\n  return useScheduler({\r\n    callback,\r\n    loop: true,\r\n    cancel: cancelIdleCallback,\r\n    schedule: callback => requestIdleCallback(callback, $$(options)),\r\n    stack\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useIdleLoop","\r\n/* IMPORT */\r\n\r\nimport useScheduler from '../hooks/use_scheduler'\r\nimport $$ from '../methods/SS'\r\nimport type { Callback, Disposer, FunctionMaybe, ObservableMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst useInterval = (callback: ObservableMaybe<Callback>, ms?: FunctionMaybe<number>): Disposer => {\r\n\r\n  const stack = new Error()\r\n\r\n  return useScheduler({\r\n    callback,\r\n    cancel: clearInterval,\r\n    schedule: callback => setInterval(callback, $$(ms)),\r\n    stack\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useInterval","\r\n/* IMPORT */\r\n\r\nimport useResource from '../hooks/use_resource';\r\nimport $$ from '../methods/SS';\r\nimport type {FunctionMaybe, Resource} from '../types';\r\n\r\n/* MAIN */\r\n\r\nconst usePromise = <T> ( promise: FunctionMaybe<Promise<T>> ): Resource<T> => {\r\n\r\n  return useResource ( () => $$(promise) );\r\n\r\n};\r\n\r\n/* EXPORT */\r\n\r\nexport default usePromise;\r\n","\r\n/* IMPORT */\r\n\r\nimport useScheduler from '../hooks/use_scheduler'\r\nimport $$ from '../methods/SS'\r\nimport type { Callback, Disposer, FunctionMaybe, ObservableMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst useTimeout = (callback: ObservableMaybe<Callback>, ms?: FunctionMaybe<number>): Disposer => {\r\n\r\n  const stack = new Error()\r\n\r\n  return useScheduler({\r\n    callback,\r\n    once: true,\r\n    cancel: clearTimeout,\r\n    schedule: callback => setTimeout(callback, $$(ms)),\r\n    stack\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useTimeout","\r\n/* IMPORT */\r\n\r\nimport untrack from '../methods/untrack'\r\nimport { tryCatch } from 'soby'\r\nimport { isFunction } from '../utils/lang'\r\nimport type { Callback, Child, FN, ObservableReadonly } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst ErrorBoundary = ({ fallback, children }: { fallback: Child | FN<[{ error: Error, reset: Callback }], Child>, children: Child }): ObservableReadonly<Child> => {\r\n\r\n  return tryCatch(children, props => {\r\n    const error = props.error instanceof Error ? props.error : new Error(String(props.error ?? 'Unknown error'))\r\n    const newProps = { error, reset: props.reset }\r\n    return untrack(() => isFunction(fallback) ? fallback(newProps) : fallback)\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default ErrorBoundary\r\n","\r\n/* IMPORT */\r\n\r\nimport { for as _for } from '../soby'\r\nimport type { Child, FunctionMaybe, Indexed, ObservableReadonly } from '../types'\r\n\r\n/* MAIN */\r\n\r\nfunction For<T>({ values, fallback, unkeyed, children }: { values: FunctionMaybe<readonly T[]>, fallback?: Child, unkeyed?: false, children: ((value: T, index: FunctionMaybe<number>) => Child) }): ObservableReadonly<Child>\r\nfunction For<T>({ values, fallback, unkeyed, children }: { values: FunctionMaybe<readonly T[]>, fallback?: Child, unkeyed: true, children: ((value: Indexed<T>, index: FunctionMaybe<number>) => Child) }): ObservableReadonly<Child>\r\nfunction For<T>({ values, fallback, unkeyed, children }: { values: FunctionMaybe<readonly T[]>, fallback?: Child, unkeyed?: boolean, children: ((value: T | Indexed<T>, index: FunctionMaybe<number>) => Child) }): ObservableReadonly<Child> {\r\n\r\n    return _for(values, children, fallback, { unkeyed } as any) //TSC\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default For","\r\n/* IMPORT */\r\n\r\nimport useMemo from '../hooks/use_memo'\r\nimport $$ from '../methods/SS'\r\nimport { isNil } from '../utils/lang'\r\nimport type { FunctionMaybe } from '../types'\r\n\r\n/* MAIN */\r\n\r\n//TODO: Maybe port this to soby, as \"when\" or \"is\" or \"guarded\"\r\n//TODO: Optimize this, checking if the value is actually potentially reactive\r\n\r\nconst useGuarded = <T, U extends T>(value: FunctionMaybe<T>, guard: ((value: T) => value is U)): (() => U) => {\r\n\r\n  let valueLast: U | undefined\r\n\r\n  const guarded = useMemo(() => {\r\n\r\n    const current = $$(value)\r\n\r\n    if (!guard(current)) return valueLast\r\n\r\n    return valueLast = current\r\n\r\n  })\r\n\r\n  return (): U => {\r\n\r\n    const current = guarded()\r\n\r\n    if (isNil(current)) throw new Error('The value never passed the type guard')\r\n\r\n    return current\r\n\r\n  }\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default useGuarded\r\n","\r\n/* IMPORT */\r\n\r\nimport isObservable from '../methods/is_observable'\r\nimport useGuarded from '../hooks/use_guarded'\r\nimport useUntracked from '../hooks/use_untracked'\r\nimport { ternary } from '../soby'\r\nimport { isComponent, isFunction, isTruthy } from '../utils/lang'\r\nimport type { Child, FunctionMaybe, ObservableReadonly, Truthy } from '../types'\r\n\r\n/* MAIN */\r\n\r\n//TODO: Support an is/guard prop, maybe\r\n\r\nconst If = <T>({ when, fallback, children }: { when: FunctionMaybe<T>, fallback?: Child, children: Child | ((value: (() => Truthy<T>)) => Child) }): ObservableReadonly<Child> => {\r\n\r\n  if (isFunction(children) && !isObservable(children as any) && !isComponent(children)) { // Calling the children function with an (() => Truthy<T>)\r\n\r\n    const truthy = useGuarded(when, isTruthy)\r\n\r\n    return ternary(when, useUntracked(() => (children as Function)(truthy)), fallback)\r\n\r\n  } else { // Just passing the children along\r\n\r\n    return ternary(when, children as Child, fallback) //TSC\r\n\r\n  }\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default If\r\n","\r\n/* IMPORT */\r\n\r\nimport SuspenseContext from '../components/suspense.context'\r\nimport useMemo from '../hooks/use_memo'\r\nimport useSuspense from '../hooks/use_suspense'\r\nimport resolve from '../methods/resolve'\r\nimport $$ from '../methods/SS'\r\nimport { suspense as _suspense, ternary } from '../soby'\r\nimport type { Child, FunctionMaybe, ObservableReadonly } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst Suspense = ({ when, fallback, children }: { when?: FunctionMaybe<unknown>, fallback?: Child, children?: Child }): ObservableReadonly<Child> => {\r\n\r\n  return SuspenseContext.wrap(suspense => {\r\n\r\n    const condition = useMemo(() => !!$$(when) || suspense.active())\r\n\r\n    const stack = new Error()\r\n    const childrenSuspended =\r\n      useSuspense(condition, () => resolve(children), stack)\r\n\r\n    return ternary(condition, fallback, childrenSuspended)\r\n\r\n  })\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default Suspense","\r\n/* IMPORT */\r\n\r\nimport { switch as _switch } from '../soby'\r\nimport { assign, castArray } from '../utils/lang'\r\nimport type { Child, ChildWithMetadata, FunctionMaybe, ObservableReadonly } from '../types'\r\n\r\n/* MAIN */\r\n\r\n//TODO: Enforce children of Switch to be of type Switch.Case or Switch.Default\r\n\r\nconst Switch = <T>({ when, fallback, children }: { when: FunctionMaybe<T>, fallback?: Child, children: Child }): ObservableReadonly<Child> => {\r\n\r\n  const childrenWithValues = castArray(children) as (() => ChildWithMetadata<[T, Child] | [Child]>)[] //TSC\r\n  const values = childrenWithValues.map(child => child().metadata)\r\n\r\n  return _switch(when, values as any, fallback) //TSC\r\n\r\n}\r\n\r\n/* UTILITIES */\r\n\r\nSwitch.Case = <T>({ when, children }: { when: T, children: Child }): ChildWithMetadata<[T, Child]> => {\r\n\r\n  const metadata: { metadata: [T, Child] } = { metadata: [when, children] }\r\n\r\n  return assign(() => children, metadata)\r\n\r\n}\r\n\r\nSwitch.Default = ({ children }: { children: Child }): ChildWithMetadata<[Child]> => {\r\n\r\n  const metadata: { metadata: [Child] } = { metadata: [children] }\r\n\r\n  return assign(() => children, metadata)\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default Switch","\r\n/* IMPORT */\r\n\r\nimport { ternary } from '../soby'\r\nimport type { Child, FunctionMaybe, ObservableReadonly } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst Ternary = ({ when, children }: { when: FunctionMaybe<unknown>, children: [Child, Child] }): ObservableReadonly<Child> => {\r\n\r\n  return ternary(when, children[0], children[1])\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default Ternary","\r\n/* IMPORT */\r\n\r\nimport { CONTEXTS_DATA } from '../constants'\r\nimport resolve from '../methods/resolve'\r\nimport { context } from '../soby'\r\nimport type { Child, Context, ContextWithDefault } from '../types'\r\n\r\n/* MAIN */\r\n\r\nfunction createContext<T>(defaultValue: T): ContextWithDefault<T>\r\nfunction createContext<T>(defaultValue?: T): Context<T>\r\nfunction createContext<T>(defaultValue?: T): ContextWithDefault<T> | Context<T> {\r\n\r\n  const symbol = Symbol()\r\n\r\n  const Provider = ({ value, children }: { value: T, children: Child }): Child => {\r\n\r\n    return context({ [symbol]: value }, () => {\r\n\r\n      return resolve(children)\r\n\r\n    })\r\n\r\n  }\r\n\r\n  const Context = { Provider, symbol }\r\n\r\n  CONTEXTS_DATA.set(Context as any, { symbol, defaultValue })\r\n\r\n  return Context\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default createContext","\r\n/* IMPORT */\r\n\r\nimport { DIRECTIVES, SYMBOLS_DIRECTIVES } from '../constants'\r\n// import { JSX } from '../jsx/types';\r\nimport resolve from '../methods/resolve'\r\nimport { context } from '../soby'\r\nimport type { Child, DirectiveFunction, Directive, DirectiveData, DirectiveOptions, ExtractArray } from '../types'\r\n\r\n/* MAIN */\r\n\r\nconst createDirective = <T extends keyof JSX.Directives>(name: T, fn: DirectiveFunction<ExtractArray<JSX.Directives[T]>>, options?: DirectiveOptions): Directive<ExtractArray<JSX.Directives[T]>> => {\r\n\r\n  const immediate = !!options?.immediate\r\n  const data: DirectiveData<ExtractArray<JSX.Directives[T]>> = { fn, immediate }\r\n  const symbol = (SYMBOLS_DIRECTIVES[name] ||= Symbol())\r\n\r\n  const Provider = ({ children }: { children: Child }): Child => {\r\n\r\n    return context({ [symbol]: data }, () => {\r\n\r\n      return resolve(children)\r\n\r\n    })\r\n\r\n  }\r\n\r\n  const ref = (...args: ExtractArray<JSX.Directives[T]>) => {\r\n\r\n    return (element: Element): void => {\r\n\r\n      fn(element, ...args)\r\n\r\n    }\r\n\r\n  }\r\n\r\n  const register = (): void => {\r\n\r\n    if (symbol in DIRECTIVES) throw new Error('Directive \"name\" is already registered')\r\n\r\n    DIRECTIVES[symbol] = data\r\n\r\n  }\r\n\r\n  return { Provider, ref, register }\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default createDirective","\r\n/* IMPORT */\r\n\r\nimport useMemo from '../hooks/use_memo'\r\nimport $ from '../methods/S'\r\nimport resolve from '../methods/resolve'\r\nimport untrack from '../methods/untrack'\r\nimport { isFunction } from '../utils/lang'\r\nimport type { Observable, ObservableReadonly } from '../types'\r\n\r\n/* HELPERS */\r\n\r\nconst COMPONENT_RE = /^_?[A-Z][a-zA-Z0-9$_-]*$/\r\nconst SYMBOL_AS = '__hmr_as__'\r\nconst SYMBOL_COLD_COMPONENT = Symbol('HMR.Cold')\r\nconst SYMBOL_HOT_COMPONENT = Symbol('HMR.Hot')\r\nconst SYMBOL_HOT_ID = Symbol('HMR.ID')\r\nconst SOURCES = new WeakMap<{}, Observable<any>>()\r\n\r\n/* MAIN */\r\n\r\n//TODO: This seems excessively complicated, maybe it can be simplified somewhat?\r\n//TODO: Make this work better when a nested component is added/removed too\r\n\r\nconst hmr = <T extends Function>(accept: Function | undefined, component: T): T => {\r\n\r\n  if (accept) { // Making the component hot\r\n\r\n    /* CHECK */\r\n\r\n    const cached = component[SYMBOL_HOT_COMPONENT]\r\n\r\n    if (cached) return cached // Already hot\r\n\r\n    const isProvider = !isFunction(component) && ('Provider' in component)\r\n\r\n    if (isProvider) return component // Context/Directive providers are not hot-reloadable\r\n\r\n    /* HELPERS */\r\n\r\n    const createHotComponent = (path: string[]): any => {\r\n\r\n      return <A extends unknown[], R>(...args: A): ObservableReadonly<R> => {\r\n\r\n        return useMemo((stack) => {\r\n\r\n          const component = path.reduce((component, key) => component[key], SOURCES.get(id(stack))?.() || source())\r\n          const result = resolve(untrack(() => component(...args)))\r\n\r\n          return result\r\n\r\n        })\r\n\r\n      }\r\n\r\n    }\r\n\r\n    const createHotComponentDeep = <T extends Function>(component: T, path: string[]): T => {\r\n\r\n      const cached = component[SYMBOL_HOT_COMPONENT]\r\n\r\n      if (cached) return cached\r\n\r\n      const hot = component[SYMBOL_HOT_COMPONENT] = createHotComponent(path)\r\n\r\n      for (const key in component) {\r\n\r\n        const value = component[key]\r\n\r\n        if (isFunction(value) && COMPONENT_RE.test(key)) { // A component\r\n\r\n          hot[key] = createHotComponentDeep(value, [...path, key])\r\n\r\n        } else { // Something else\r\n\r\n          hot[key] = value\r\n\r\n        }\r\n\r\n      }\r\n\r\n      return hot\r\n\r\n    }\r\n\r\n    const onAccept = (module: { default: T }): void => {\r\n\r\n      const hot = module[component[SYMBOL_AS]] || module[component.name] || module.default\r\n\r\n      if (!hot) return console.error(`[hmr] Failed to handle update for \"${component.name}\" component:\\n\\n`, component)\r\n\r\n      const cold = hot[SYMBOL_COLD_COMPONENT] || hot\r\n\r\n      hot[SYMBOL_HOT_ID]?.(id())\r\n      SOURCES.get(id())?.(() => cold)\r\n\r\n    }\r\n\r\n    /* MAIN */\r\n\r\n    const id = $({})\r\n    const source = $(component)\r\n\r\n    const stack = new Error()\r\n\r\n    SOURCES.set(id(stack), source)\r\n\r\n    const cold = component[SYMBOL_COLD_COMPONENT] || component\r\n    const hot = createHotComponentDeep(component, [])\r\n\r\n    cold[SYMBOL_HOT_COMPONENT] = hot\r\n    hot[SYMBOL_COLD_COMPONENT] = cold\r\n    hot[SYMBOL_HOT_COMPONENT] = hot\r\n    hot[SYMBOL_HOT_ID] = id\r\n\r\n    accept(onAccept)\r\n\r\n    /* RETURN */\r\n\r\n    return hot\r\n\r\n  } else { // Returning the component as is\r\n\r\n    return component\r\n\r\n  }\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default hmr","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import { isObject } from '../utils/lang';\r\nimport { CSSProperties } from '../types';\r\n// import { JSX } from '../jsx/types'\r\ntype StyleProperties = JSX.StyleProperties\r\n\r\nexport function mergeStyles(style: string | CSSProperties | StyleProperties = {}, css: string | CSSProperties | StyleProperties = \"\"): CSSProperties & StyleProperties {\r\n  // Regular expression to match CSS property-value pairs\r\n  const re = /([^:;]+)\\s*:\\s*([^;(]+(?:\\(.*?\\))?);?/igm;\r\n\r\n  const genObj = (css: string | CSSProperties | StyleProperties = \"\"): CSSProperties & StyleProperties => {\r\n    let match;\r\n\r\n    if (isObject(css))\r\n      return css as CSSProperties & StyleProperties;\r\n    else {\r\n      const style = {} as CSSProperties & StyleProperties;\r\n\r\n      // Loop over each match in the CSS string\r\n      while ((match = re.exec(css))) {\r\n        const [, property, value] = match;\r\n        // Trim leading/trailing whitespace from property and value\r\n        const trimmedProperty = property.trim();\r\n        const trimmedValue = value.trim();\r\n\r\n        // Set the property in the style object\r\n        style[trimmedProperty] = trimmedValue;\r\n      }\r\n\r\n      return style;\r\n    }\r\n  };\r\n\r\n  const sty = genObj(style);\r\n\r\n  return Object.assign(sty, genObj(css));\r\n}\r\n"],"names":["resolve","noop","setBatch","isFunction","SYMBOL_OBSERVABLE_BOOLEAN","SYMBOL_OBSERVABLE_FROZEN","SYMBOL_OBSERVABLE_READABLE","SYMBOL_UNTRACKED","SYMBOL_UNTRACKED_UNWRAPPED","Observer","Observable","UNINITIALIZED","callStack","UNAVAILABLE","DIRTY_MAYBE_YES","frozen","memo","observable","readable","boolean","cleanup","SYMBOL_OBSERVABLE","DUMMY_INDEX","Root","OWNER","SYMBOL_SUSPENSE","lazySetDelete","fn","MappedRoot","SYMBOL_CACHED","SYMBOL_UNCACHED","lazySetAdd","Owner","lazyArrayPush","lazyArrayEach","lazySetEach","Effect","DIRTY_YES","root","suspense","Suspense","get","effect","pooled","mapped","suspended","isArray","isStore","untrack","isObservable","SYMBOL_STORE_VALUES","isEqual","is","writable","ObservableClass","SYMBOL_OBSERVABLE_WRITABLE","OBSERVABLE_TRUE","OBSERVABLE_FALSE","stack","Scheduler","$","untracked","target","useEffect","$$","event","options","castArray","useCleanup","useSuspended","tick","CONTEXTS_DATA","context","isNil","useMemo","SYMBOL_SUSPENSE_COLLECTOR","counter","useRenderEffect","disposed","useCheapDisposed","castError","fetch","value","isPromise","error","assign","useReadonly","request","init","callback","isComponent","isTruthy","useUntracked","useSuspense","SYMBOLS_DIRECTIVES","DIRECTIVES","component","cached","hot","module","cold","t","n","s","r","css","match","isObject","style"],"mappings":"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","x_google_ignoreList":[53]}