@luna_ui/luna 0.7.3 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/api-DAWeanTX.js +1 -0
  2. package/dist/api-qXll116-.d.ts +80 -0
  3. package/dist/cli.mjs +27 -22
  4. package/dist/css/index.js +1 -0
  5. package/dist/event-utils.d.ts +1 -1
  6. package/dist/event-utils.js +1 -1
  7. package/dist/{index-vO066aMd.d.ts → index-VY8G32hr.d.ts} +16 -76
  8. package/dist/index.d.ts +4 -3
  9. package/dist/index.js +1 -1
  10. package/dist/jsx-dev-runtime.js +1 -1
  11. package/dist/jsx-runtime.d.ts +1 -1
  12. package/dist/jsx-runtime.js +1 -1
  13. package/dist/raw.d.ts +2 -0
  14. package/dist/raw.js +1 -0
  15. package/dist/resource.d.ts +41 -0
  16. package/dist/resource.js +1 -0
  17. package/dist/router-lite.d.ts +44 -0
  18. package/dist/router-lite.js +1 -0
  19. package/dist/signals-shared.d.ts +12 -0
  20. package/dist/signals-shared.js +1 -0
  21. package/dist/signals.d.ts +50 -0
  22. package/dist/signals.js +1 -0
  23. package/dist/vite-plugin.d.ts +7708 -2
  24. package/dist/vite-plugin.js +7 -6
  25. package/package.json +34 -11
  26. package/dist/event-utils-C_M2XBNj.js +0 -1
  27. package/dist/src-BbjOW18q.js +0 -1
  28. package/src/css/extract.ts +0 -798
  29. package/src/css/index.ts +0 -10
  30. package/src/css/inject.ts +0 -205
  31. package/src/css/inline.ts +0 -182
  32. package/src/css/minify.ts +0 -70
  33. package/src/css/optimizer.ts +0 -6
  34. package/src/css/runtime.ts +0 -344
  35. package/src/css-optimizer/README.md +0 -353
  36. package/src/css-optimizer/cooccurrence.ts +0 -100
  37. package/src/css-optimizer/core.ts +0 -263
  38. package/src/css-optimizer/extractors.ts +0 -243
  39. package/src/css-optimizer/hash.ts +0 -54
  40. package/src/css-optimizer/index.ts +0 -129
  41. package/src/css-optimizer/merge.ts +0 -109
  42. package/src/css-optimizer/moonbit-analyzer.ts +0 -210
  43. package/src/css-optimizer/parser.ts +0 -120
  44. package/src/css-optimizer/pattern.ts +0 -171
  45. package/src/css-optimizer/transformers.ts +0 -301
  46. package/src/css-optimizer/types.ts +0 -128
  47. package/src/event-utils.ts +0 -227
  48. package/src/hydration/createHydrator.ts +0 -62
  49. package/src/hydration/delegate.ts +0 -62
  50. package/src/hydration/drag.ts +0 -214
  51. package/src/hydration/index.ts +0 -12
  52. package/src/hydration/keyboard.ts +0 -64
  53. package/src/hydration/toggle.ts +0 -101
  54. package/src/index.ts +0 -908
  55. package/src/jsx-dev-runtime.ts +0 -2
  56. package/src/jsx-runtime.ts +0 -398
  57. package/src/vite-plugin.ts +0 -718
  58. package/tests/__screenshots__/apg.test.ts/APG-Components---Accessibility-Tests-Button-Pattern-disabled-button-has-aria-disabled-1.png +0 -0
  59. package/tests/apg.test.ts +0 -466
  60. package/tests/context.test.ts +0 -118
  61. package/tests/css-optimizer-extractors.test.ts +0 -264
  62. package/tests/css-optimizer-integration.test.ts +0 -566
  63. package/tests/css-optimizer-transformers.test.ts +0 -301
  64. package/tests/css-optimizer.test.ts +0 -646
  65. package/tests/css-runtime.bench.ts +0 -442
  66. package/tests/css-runtime.test.ts +0 -342
  67. package/tests/debounced.test.ts +0 -165
  68. package/tests/dom.test.ts +0 -873
  69. package/tests/integration.test.ts +0 -405
  70. package/tests/issue-11-show-null-to-truthy.test.ts +0 -176
  71. package/tests/issue-5-for-infinite-loop.test.ts +0 -516
  72. package/tests/jsx-runtime.test.tsx +0 -393
  73. package/tests/lifecycle.test.ts +0 -833
  74. package/tests/move-before.bench.ts +0 -304
  75. package/tests/preact-signals-comparison.test.ts +0 -1608
  76. package/tests/resource.test.ts +0 -160
  77. package/tests/router.test.ts +0 -117
  78. package/tests/show-initial-mount-leak.test.tsx +0 -182
  79. package/tests/solidjs-api.test.ts +0 -660
  80. package/tests/static-perf.bench.ts +0 -64
  81. package/tests/store.test.ts +0 -263
  82. package/tests/tsx-syntax.test.tsx +0 -404
  83. /package/dist/{event-utils-Cd5f3Njd.d.ts → event-utils-BvAf0NwN.d.ts} +0 -0
@@ -0,0 +1,41 @@
1
+ //#region ../../_build/js/release/build/mizchi/luna/js/api_resource_lite/moonbit.d.ts
2
+ type Unit = undefined;
3
+ type Bool = boolean;
4
+ //#endregion
5
+ //#region ../../_build/js/release/build/mizchi/luna/js/api_resource_lite/api_resource_lite.d.ts
6
+ declare function stateError(state: any): any;
7
+ declare function stateValue(state: any): any;
8
+ declare function stateIsFailure(state: any): Bool;
9
+ declare function stateIsSuccess(state: any): Bool;
10
+ declare function stateIsPending(state: any): Bool;
11
+ declare function resourceError(resource: any): any;
12
+ declare function resourceValue(resource: any): any;
13
+ declare function resourceIsFailure(resource: any): Bool;
14
+ declare function resourceIsSuccess(resource: any): Bool;
15
+ declare function resourceIsPending(resource: any): Bool;
16
+ declare function resourceRefetch(resource: any): Unit;
17
+ declare function resourcePeek(resource: any): any;
18
+ declare function resourceGet(resource: any): any;
19
+ //#endregion
20
+ //#region src/resource.d.ts
21
+ type PendingState = {
22
+ $tag: 0;
23
+ };
24
+ type SuccessState<T> = {
25
+ $tag: 1;
26
+ _0: T;
27
+ };
28
+ type FailureState = {
29
+ $tag: 2;
30
+ _0: string;
31
+ };
32
+ type AsyncState<T> = PendingState | SuccessState<T> | FailureState;
33
+ type ResourceFetcher<T> = (resolve: (value: T) => void, reject: (error: string) => void) => void;
34
+ interface Resource<T> {
35
+ _state?: AsyncState<T>;
36
+ _fetcher?: ResourceFetcher<T>;
37
+ }
38
+ declare function createResource<T>(fetcher: ResourceFetcher<T>): Resource<T>;
39
+ declare function createDeferred<T>(): readonly [any, any, any];
40
+ //#endregion
41
+ export { AsyncState, FailureState, PendingState, Resource, ResourceFetcher, SuccessState, createDeferred, createResource, resourceError, resourceGet, resourceIsFailure, resourceIsPending, resourceIsSuccess, resourcePeek, resourceRefetch, resourceValue, stateError, stateIsFailure, stateIsPending, stateIsSuccess, stateValue };
@@ -0,0 +1 @@
1
+ const e=e=>{let t={state:{$tag:0},fetcher:e},n=()=>{t.state={$tag:0},e(e=>{t.state={$tag:1,_0:e}},e=>{t.state={$tag:2,_0:String(e)}})};return t.refetch=n,n(),t},t=()=>{let e={state:{$tag:0},refetch:()=>{e.state={$tag:0}}};return{_0:e,_1:t=>{e.state={$tag:1,_0:t}},_2:t=>{e.state={$tag:2,_0:String(t)}}}},n=e=>e.state,r=e=>e.state,i=e=>{e.refetch()},a=e=>e.state.$tag===0,o=e=>e.state.$tag===1,s=e=>e.state.$tag===2,c=e=>e.state.$tag===1?e.state._0:void 0,l=e=>e.state.$tag===2?e.state._0:void 0,u=e=>e.$tag===0,d=e=>e.$tag===1,f=e=>e.$tag===2,p=e=>e.$tag===1?e._0:void 0,m=e=>e.$tag===2?e._0:void 0;function h(t){return e(t)}function g(){return t()}function _(e){return n(e)}function v(e){return r(e)}function y(e){i(e)}function b(e){return a(e)}function x(e){return o(e)}function S(e){return s(e)}function C(e){return c(e)}function w(e){return l(e)}function T(e){return u(e)}function E(e){return d(e)}function D(e){return f(e)}function O(e){return p(e)}function k(e){return m(e)}function A(e){return h(e)}function j(){let e=g();return Array.isArray(e)?[e[0],e[1],e[2]]:[e._0,e._1,e._2]}export{j as createDeferred,A as createResource,w as resourceError,_ as resourceGet,S as resourceIsFailure,b as resourceIsPending,x as resourceIsSuccess,v as resourcePeek,y as resourceRefetch,C as resourceValue,k as stateError,D as stateIsFailure,T as stateIsPending,E as stateIsSuccess,O as stateValue};
@@ -0,0 +1,44 @@
1
+ //#region ../../_build/js/release/build/mizchi/luna/js/api_router_lite/moonbit.d.ts
2
+ type Unit = undefined;
3
+ type String = string;
4
+ //#endregion
5
+ //#region ../../_build/js/release/build/mizchi/luna/js/api_router_lite/api_router_lite.d.ts
6
+ declare function routerGetBase(router: any): String;
7
+ declare function routerGetMatch(router: any): any;
8
+ declare function routerGetPath(router: any): String;
9
+ declare function routerReplace(router: any, path: String): Unit;
10
+ declare function routerNavigate(router: any, path: String): Unit;
11
+ declare function routePageFull(path: String, component: any, title: String, meta: any): any;
12
+ declare function routePageTitled(path: String, component: any, title: String): any;
13
+ declare function routePage(path: String, component: any): any;
14
+ //#endregion
15
+ //#region src/router-lite.d.ts
16
+ type KvTuple = {
17
+ _0: string;
18
+ _1: string;
19
+ };
20
+ interface LiteRoute {
21
+ $tag: 0;
22
+ path: string;
23
+ component: unknown;
24
+ title: string;
25
+ meta: KvTuple[];
26
+ }
27
+ interface LiteRouteMatch {
28
+ route: LiteRoute;
29
+ params: KvTuple[];
30
+ query: KvTuple[];
31
+ path: string;
32
+ }
33
+ interface BrowserRouterLite {
34
+ routes: LiteRoute[];
35
+ base: string;
36
+ currentPath: string;
37
+ currentMatch: LiteRouteMatch | undefined;
38
+ dispose: () => void;
39
+ }
40
+ declare const createRouter: (routes: LiteRoute[], baseOrOptions?: string | {
41
+ base?: string;
42
+ }) => BrowserRouterLite;
43
+ //#endregion
44
+ export { BrowserRouterLite, LiteRoute, LiteRouteMatch, createRouter, routePage, routePageFull, routePageTitled, routerGetBase, routerGetMatch, routerGetPath, routerNavigate, routerReplace };
@@ -0,0 +1 @@
1
+ const e=(e,t)=>({$tag:0,path:e,component:t,title:``,meta:[]}),t=(e,t,n)=>({$tag:0,path:e,component:t,title:n,meta:[]}),n=(e,t,n,r)=>({$tag:0,path:e,component:t,title:n,meta:r||[]}),r=(e,t)=>{let n=e=>{if(!e)return`/`;let t=e.indexOf(`?`),n=e.indexOf(`#`),r=t>=0&&n>=0?Math.min(t,n):t>=0?t:n,i=r>=0?e.slice(0,r):e,a=i.startsWith(`/`)?i:`/${i}`;return a.length>1&&a.endsWith(`/`)?a.slice(0,-1):a},r=e=>!e||e===`/`?``:typeof e==`string`?n(e):typeof e.base==`string`?n(e.base):``,i=e=>e===`/`?[]:e.split(`/`).filter(Boolean),a=e=>{try{return decodeURIComponent(e)}catch{return e}},o=e=>{if(!e||e===`?`)return[];let t=e.startsWith(`?`)?e.slice(1):e,n=new URLSearchParams(t),r=[];for(let[e,t]of n.entries())e&&r.push({_0:e,_1:t});return r},s=e=>e.startsWith(`:`)?e.slice(1):e.startsWith(`[`)&&e.endsWith(`]`)&&!e.startsWith(`[...`)&&!e.startsWith(`[[...`)?e.slice(1,-1):null,c=e=>e.startsWith(`[[...`)&&e.endsWith(`]]`)?{name:e.slice(5,-2),optional:!0}:e.startsWith(`[...`)&&e.endsWith(`]`)?{name:e.slice(4,-1),optional:!1}:null,l=(e,t)=>{let r=i(n(e)),o=i(n(t)),l=[],u=0,d=0;for(;u<r.length;){let e=r[u],t=c(e);if(t){let e=o.slice(d).map(a).join(`/`);return!e&&!t.optional?null:(l.push({_0:t.name,_1:e}),l)}if(d>=o.length)return null;let n=s(e);if(n){l.push({_0:n,_1:a(o[d])}),u+=1,d+=1;continue}if(e!==o[d])return null;u+=1,d+=1}return d===o.length?l:null},u=(t,n)=>{for(let r=0;r<e.length;r+=1){let i=e[r],a=l(i.path,t);if(a)return{route:i,params:a,query:o(n),path:t}}},d=(e,t)=>e?t===`/`?e:`${e}${t}`:t,f=(e,t)=>e?t===e?`/`:t.startsWith(`${e}/`)?t.slice(e.length)||`/`:t:t,p=e=>{let t=e.indexOf(`#`),r=t>=0?e.slice(0,t):e,i=r.indexOf(`?`);return i<0?{pathname:n(r),search:``}:{pathname:n(r.slice(0,i)),search:r.slice(i)}},m=()=>typeof window>`u`?{pathname:`/`,search:``}:{pathname:n(window.location.pathname),search:window.location.search||``},h={routes:e,base:r(t),currentPath:`/`,currentMatch:void 0,dispose:()=>{}},g=(e,t)=>{let r=n(e),i=f(h.base,r);h.currentPath=`${i}${t}`,h.currentMatch=u(i,t)};h.navigate=e=>{let t=p(e),n=`${d(h.base,t.pathname)}${t.search}`;typeof window<`u`&&window.history.pushState(null,``,n),g(t.pathname,t.search)},h.replace=e=>{let t=p(e),n=`${d(h.base,t.pathname)}${t.search}`;typeof window<`u`&&window.history.replaceState(null,``,n),g(t.pathname,t.search)};let _=m();if(g(_.pathname,_.search),typeof window<`u`){let e=()=>{let e=m();g(e.pathname,e.search)};window.addEventListener(`popstate`,e),h.dispose=()=>{window.removeEventListener(`popstate`,e)}}return h},i=(e,t)=>{e.navigate(t)},a=(e,t)=>{e.replace(t)},o=e=>e.currentPath,s=e=>e.currentMatch,c=e=>e.base;function l(t,n){return e(t,n)}function u(e,n,r){return t(e,n,r)}function d(e,t,r,i){return n(e,t,r,i)}function f(e,t){return r(e,t)}function p(e,t){i(e,t)}function m(e,t){a(e,t)}function h(e){return o(e)}function g(e){return s(e)}function _(e){return c(e)}const v=f;export{v as createRouter,l as routePage,d as routePageFull,u as routePageTitled,_ as routerGetBase,g as routerGetMatch,h as routerGetPath,p as routerNavigate,m as routerReplace};
@@ -0,0 +1,12 @@
1
+ import { $ as runUntracked, D as onCleanup, I as renderEffect, O as onMount, a as combine, b as getOwner, ct as subscribe, et as runWithOwner, f as createRoot, ft as update, g as effect, i as batchStart, k as peek, n as batch, r as batchEnd, tt as set, w as map, x as hasOwner, y as get } from "./api-qXll116-.js";
2
+
3
+ //#region src/signals-shared.d.ts
4
+ type Accessor<T> = () => T;
5
+ type Setter<T> = (value: T | ((prev: T) => T)) => void;
6
+ type Signal<T> = [Accessor<T>, Setter<T>];
7
+ declare function createSignal<T>(initialValue: T): Signal<T>;
8
+ declare function createEffect(fn: () => void): () => void;
9
+ declare function createRenderEffect(fn: () => void): () => void;
10
+ declare function createMemo<T>(fn: () => T): Accessor<T>;
11
+ //#endregion
12
+ export { Accessor, Setter, Signal, batch, batchEnd, batchStart, combine, createEffect, createMemo, createRenderEffect, createRoot, createSignal, effect, get, getOwner, hasOwner, map, onCleanup, onMount, peek, renderEffect, runUntracked, runUntracked as untrack, runWithOwner, set, subscribe, update };
@@ -0,0 +1 @@
1
+ import{Q as e,X as t,Y as n,_ as r,at as i,c as a,g as o,it as s,k as c,l,mt as u,n as d,nt as f,o as p,pt as m,q as h,r as g,t as _,tt as v,u as y,y as b}from"./api-DAWeanTX.js";function x(e){let n=o(e);return[()=>h(n),e=>{typeof e==`function`?s(n,e):t(n,e)}]}function S(e){return f(e)}function C(e){return r(e)}function w(e){return l(e)}export{v as batch,_ as batchEnd,a as batchStart,i as combine,S as createEffect,w as createMemo,C as createRenderEffect,y as createRoot,x as createSignal,f as effect,h as get,d as getOwner,g as hasOwner,n as map,p as onCleanup,m as onMount,e as peek,r as renderEffect,b as runUntracked,b as untrack,c as runWithOwner,t as set,u as subscribe,s as update};
@@ -0,0 +1,50 @@
1
+ //#region ../../_build/js/release/build/mizchi/luna/js/api_signals/moonbit.d.ts
2
+ type Unit = undefined;
3
+ type Bool = boolean;
4
+ type UnboxedOption<T> = /* Some */T | /* None */undefined;
5
+ //#endregion
6
+ //#region ../../_build/js/release/build/mizchi/luna/js/api_signals/api_signals.d.ts
7
+ declare function onMount(fn_: () => Unit): Unit;
8
+ declare function hasOwner(): Bool;
9
+ declare function runWithOwner(owner: any, f: () => any): any;
10
+ declare function getOwner(): UnboxedOption<any>;
11
+ declare function createRoot(f: (_arg0: () => Unit) => any): any;
12
+ declare function onCleanup(cleanup: () => Unit): Unit;
13
+ declare function batch(f: () => any): any;
14
+ declare function runUntracked(f: () => any): any;
15
+ declare function batchEnd(): Unit;
16
+ declare function batchStart(): Unit;
17
+ declare function renderEffect(fn_: () => Unit): () => Unit;
18
+ declare function effect(fn_: () => Unit): () => Unit;
19
+ declare function combine(a: any, b: any, f: (_arg0: any, _arg1: any) => any): () => any;
20
+ declare function map(sig: any, f: (_arg0: any) => any): () => any;
21
+ declare function subscribe(sig: any, callback: (_arg0: any) => Unit): () => Unit;
22
+ declare function peek(sig: any): any;
23
+ declare function update(sig: any, f: (_arg0: any) => any): Unit;
24
+ declare function set(sig: any, value: any): Unit;
25
+ declare function get(sig: any): any;
26
+ //#endregion
27
+ //#region src/signals.d.ts
28
+ type Accessor<T> = () => T;
29
+ type Setter<T> = (value: T | ((prev: T) => T)) => void;
30
+ type Signal<T> = [Accessor<T>, Setter<T>];
31
+ /**
32
+ * Creates a reactive signal (SolidJS-style)
33
+ */
34
+ declare function createSignal<T>(initialValue: T): Signal<T>;
35
+ /**
36
+ * Creates a reactive effect (SolidJS-style)
37
+ * Deferred execution via microtask - runs after rendering completes
38
+ */
39
+ declare function createEffect(fn: () => void): () => void;
40
+ /**
41
+ * Creates a render effect (SolidJS-style)
42
+ * Immediate/synchronous execution - runs during rendering
43
+ */
44
+ declare function createRenderEffect(fn: () => void): () => void;
45
+ /**
46
+ * Creates a memoized computed value (SolidJS-style)
47
+ */
48
+ declare function createMemo<T>(fn: () => T): Accessor<T>;
49
+ //#endregion
50
+ export { Accessor, Setter, Signal, batch, batchEnd, batchStart, combine, createEffect, createMemo, createRenderEffect, createRoot, createSignal, effect, get, getOwner, hasOwner, map, onCleanup, onMount, peek, renderEffect, runUntracked, runUntracked as untrack, runWithOwner, set, subscribe, update };
@@ -0,0 +1 @@
1
+ function e(e,t,n){this.current_owner=e,this.current_cleanups=t,this.batch_depth=n}function t(){}t.prototype.$tag=0;const n=new t;function r(e){this._0=e}r.prototype.$tag=1;var i=class extends Error{};function a(){throw new i}const o=(e,t)=>{e.push(t)},s=(e,t)=>{e.length=t},c=e=>e.pop(),l=(e,t,n)=>e.splice(t,n);function u(e){this.val=e}function d(e){this.val=e}function f(e){this.val=e}function p(e){this.val=e}function m(e,t,n,r,i,a,o){this.version=e,this.dep=t,this.sub=n,this.prev_sub=r,this.next_sub=i,this.prev_dep=a,this.next_dep=o}function h(e){this.value=e}function ee(e,t,n,r,i,a,o){this.deps=e,this.deps_tail=t,this.subs=n,this.subs_tail=r,this.flags=i,this.last_modified_cycle=a,this.effect_callback=o}function te(e,t,n){this.node=e,this.current_value=t,this.pending_value=n}function ne(e){this.inner=e}const re=e=>queueMicrotask(e);function ie(e,t,n){this.node=e,this.value=t,this.getter=n}function g(){}g.prototype.$tag=0;const ae=new g;function _(e){this._0=e}_.prototype.$tag=1;function oe(e,t,n,r,i,a){this.id=e,this.parent=t,this.children=n,this.cleanups=r,this.disposers=i,this.disposed=a}const se=e=>queueMicrotask(e),v=new e(void 0,n,0),y=[],b=[],x=N(void 0),S=P(0),C=P(0),ce=le(1024,void 0),w=P(0),T=P(0),E=he(n),D=P(0);function O(e,t){o(e,t)}function le(e,t){let n=Array(e),r=0;for(;;){let i=r;if(i<e){n[i]=t,r=i+1|0;continue}else break}return n}function ue(e,t,n){let r=e.length;if(t>=0&&t<r){e[t]=n;return}else{a();return}}function de(e,t){s(e,t)}function fe(e){return c(e)}function pe(e){if(e.length!==0)return fe(e)}function k(e,t){if(t>=0&&t<e.length){let n=e[t];return l(e,t,1),n}else return a()}function A(e,t){let n=e.length;return t>=0&&t<n?e[t]:a()}function me(e,t){let n=e.length;return t>=0&&t<n?e[t]:a()}function j(e){de(e,0)}function M(e){return new u(e)}function N(e){return new d(e)}function he(e){return new f(e)}function P(e){return new p(e)}function F(e,t){e.value=t}function I(e){switch(e){case 0:return 0;case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;default:return 32}}function L(e){let t=e.deps_tail,n;for(n=t===void 0?e.deps:t.next_dep;;){let t=n;if(t===void 0)return;n=R(t,e)}}function R(e,t){let n=e.dep,r=e.prev_dep,i=e.next_dep,a=e.next_sub,o=e.prev_sub;if(i===void 0)t.deps_tail=r;else{let e=i;e.prev_dep=r}if(r===void 0)t.deps=i;else{let e=r;e.next_dep=i}if(a===void 0)n.subs_tail=o;else{let e=a;e.prev_sub=o}if(o===void 0)n.subs=a,a===void 0&&ge(n);else{let e=o;e.next_sub=a}return i}function ge(e){if((e.flags.value&I(1))===0){_e(e);return}else if(e.deps_tail===void 0)return;else{e.deps_tail=void 0,F(e.flags,I(1)|I(16)),L(e);return}}function _e(e){e.deps_tail=void 0,F(e.flags,I(0)),L(e);let t=e.subs;if(t!==void 0){let e=t;R(e,e.sub);return}}function ve(e){e.deps_tail=void 0,F(e.flags,I(0)),e.effect_callback=void 0,L(e);let t=e.subs;if(t!==void 0){let e=t;R(e,e.sub);return}}function z(e){let t=e.length-1|0;for(;;){let n=t;if(n>=0){A(e,n)(),t=n-1|0;continue}else break}j(e)}function B(){S.val=S.val+1|0}function V(e,t,n){let r=t.deps_tail;if(r!==void 0&&r.dep===e)return;let i;if(i=r===void 0?t.deps:r.next_dep,i!==void 0){let r=i;if(r.dep===e){r.version=n,t.deps_tail=r;return}}let a=e.subs_tail;if(a!==void 0){let e=a;if(e.version===n&&e.sub===t)return}let o=e.subs_tail,s=new m(n,e,t,o,void 0,r,i);if(t.deps_tail=s,i!==void 0){let e=i;e.prev_dep=s}if(r===void 0)t.deps=s;else{let e=r;e.next_dep=s}let c=s.prev_sub;if(c===void 0)e.subs=s;else{let e=c;e.next_sub=s}e.subs_tail=s}function H(e){let t=x.val;return x.val=e,t}function ye(e){return new h(e)}function U(e){return new ee(void 0,void 0,void 0,void 0,ye(e),0,void 0)}function W(e){let t=[],n=U(I(2)|I(4));n.effect_callback=()=>{let i=n.flags.value,a=I(16),o=I(32);if((i&a)!==0||(i&o)!==0){B(),n.deps_tail=void 0,F(n.flags,I(2)|I(4)),z(t);let i=H(n),a=E.val;E.val=new r(t),e(),E.val=a,H(i);let o=n.flags.value;F(n.flags,o&(I(4)^-1)),L(n);return}else{F(n.flags,I(2));return}};let i=H(n);i===void 0||V(n,i,0);let a=E.val;E.val=new r(t),e(),E.val=a,H(i);let o=n.flags.value;return F(n.flags,o&(I(4)^-1)),()=>{z(t),ve(n)}}function G(e){let t=v.current_owner;t!==void 0&&O(t.disposers,e)}function be(e){let t=v.current_cleanups;return v.current_cleanups=e,t}function K(e,t){let n=be(new r(e));t(),v.current_cleanups=n}function q(e){let t=[],n=W(()=>{let n=t.length-1|0;for(;;){let e=n;if(e>=0){A(t,e)(),n=e-1|0;continue}else break}j(t),K(t,e)}),r=()=>{let e=t.length-1|0;for(;;){let n=e;if(n>=0){A(t,n)(),e=n-1|0;continue}else break}j(t),n()};return G(r),r}function xe(e,t){e.value&=I(t)^-1}function J(e){let t=e.effect_callback;if(t!==void 0){let n=t,r=!1,i=b.length,a=0;for(;;){let t=a;if(t<i){if(b[t]===e){r=!0;break}a=t+1|0;continue}else break}if(r)return;O(y,n),O(b,e),xe(e.flags,2);return}}function Y(e){let t=e;for(;;){let e=t;if(e===void 0)return;{let n=e,r=n.sub,i=r.flags.value,a=I(32),o=I(16),s=I(2),c=I(4);(i&(a|o))===a&&(F(r.flags,i|o),(i&(s|c))===s&&J(r)),t=n.next_sub;continue}}}function X(e){if((e.node.flags.value&I(16))!==0){if(e.current_value!==e.pending_value){e.current_value=e.pending_value;let t=e.node.subs;t===void 0||Y(t)}F(e.node.flags,I(1))}let t=x.val;for(;;){let n=t;if(n===void 0)break;{let r=n;if((r.flags.value&(I(1)|I(2)))!==0){V(e.node,r,S.val);break}let i=r.subs,a;a=i===void 0?void 0:i.sub,t=a;continue}}return e.current_value}function Z(e){return X(e.inner)}function Se(){C.val=C.val+1|0}function Ce(e,t,n){let r=e,i=I(16),a=I(1);for(;;){let e=r;if(e===void 0)break;{let o=e,s=o.dep,c=s.flags.value;if((t.flags.value&i)!==0)return!0;if((c&(a|i))===(a|i)&&n(s)){let e=s.subs;if(e!==void 0){let t=e;t.next_sub===void 0||Y(t)}return!0}r=o.next_dep;continue}}return!1}function we(e){let t=e.node.flags.value,n=I(16),r=I(32),i=e.node.deps,a;if(a=i===void 0?!1:Ce(i,e.node,e=>!1),(t&n)!==0||(t&r)!==0&&a){B(),e.node.deps_tail=void 0,F(e.node.flags,I(2)|I(4));let t=H(e.node),n=e.run_fn;n(),H(t);let r=e.node.flags.value;F(e.node.flags,r&(I(4)^-1)),L(e.node);return}else{F(e.node.flags,I(2));return}}function Q(){for(;w.val<T.val;){let e=me(ce,w.val);if(e===void 0)w.val=w.val+1|0;else{let t=e;ue(ce,w.val,void 0),w.val=w.val+1|0,we(t)}}for(w.val=0,T.val=0;;)if(y.length>0){let e=k(y,0);k(b,0),e();continue}else return}function Te(){if(C.val=C.val-1|0,C.val===0){Q();return}else return}function Ee(e,t){let n=t.deps_tail;for(;;){let t=n;if(t===void 0)break;{let r=t;if(r===e)return!0;n=r.prev_dep;continue}}return!1}function De(e){let t=N(e),n=N(e.next_sub),r=[],i=!0;for(;;)if(i){let e=t.val;if(e===void 0)if(r.length>0){let e=pe(r);if(e===void 0)i=!1;else{let r=e._0;t.val=r;let i;i=r===void 0?void 0:r.next_sub,n.val=i}}else i=!1;else{let i=e,a=i.sub,o=a.flags.value,s=I(1),c=I(2),l=I(4),u=I(8),d=I(16),f=I(32),p=o,m=!1,h=!1;if((o&(l|u|d|f))===0?(p=o|f,F(a.flags,p)):(o&(l|u))===0?p=I(0):(o&l)===0?(p=o&(u^-1)|f,F(a.flags,p)):(o&(d|f))===0&&Ee(i,a)?(p=o|u|f,F(a.flags,p),p&=s):p=I(0),(p&c)!==0&&(m=!0),(p&s)!==0&&(h=!0),m&&J(a),h){let e=a.subs;if(e===void 0){t.val=n.val;let e=t.val;e===void 0?n.val=void 0:n.val=e.next_sub}else{let i=e;i.next_sub===void 0||(O(r,{_0:n.val,_1:void 0}),n.val=i.next_sub),t.val=i}}else{t.val=n.val;let e=t.val;e===void 0?n.val=void 0:n.val=e.next_sub}}continue}else return}function Oe(e){return new te(U(I(1)),e,e)}function ke(e){return new ne(Oe(e))}function Ae(e){return ke(e)}function je(e,t){if(e.pending_value!==t){e.pending_value=t,B(),e.node.last_modified_cycle=S.val,F(e.node.flags,I(1)|I(16));let n=e.node.subs;if(n===void 0)return;if(De(n),C.val===0){Q();return}else return}else return}function Me(e,t){je(e.inner,t)}function Ne(e){let t=M(!0),n=N(void 0),r=[],i=()=>{let t=r.length-1|0;for(;;){let e=t;if(e>=0){A(r,e)(),t=e-1|0;continue}else break}j(r),K(r,e)};re(()=>{if(t.val){n.val=W(i);return}else return});let a=()=>{t.val=!1;let e=r.length-1|0;for(;;){let t=e;if(t>=0){A(r,t)(),e=t-1|0;continue}else break}j(r);let i=n.val;i!==void 0&&i()};return G(a),a}function Pe(e){return(e.node.flags.value&I(16))===0?e.current_value:e.pending_value}function Fe(e){return Pe(e.inner)}function Ie(e,t){je(e,t(X(e)))}function Le(e,t){Ie(e.inner,t)}function Re(e){return new ie(U(I(0)),ae,e)}function ze(e){let t=I(16),n=I(32),r=I(1),i=e.deps;for(;;){let e=i;if(e===void 0)break;{let a=e,o=a.dep,s=o.flags.value;if((s&r)!==0&&(o.last_modified_cycle>a.version||(s&(t|n))!==0))return!0;i=a.next_dep;continue}}return!1}function Be(e){B(),e.node.deps_tail=void 0,F(e.node.flags,I(1)|I(4));let t=H(e.node),n=e.value,r=e.getter,i=r();e.value=new _(i),H(t);let a=e.node.flags.value;return F(e.node.flags,a&(I(4)^-1)),L(e.node),n.$tag===1?n._0!==i:!0}function Ve(e){let t=e.node.flags.value,n=I(16),r=I(32),i=I(1),o=I(4),s=(t&n)!==0,c=(t&r)!==0,l=c?ze(e.node):!1;if(s||l){if(Be(e)){let t=e.node.subs;t===void 0||Y(t)}}else if(c)F(e.node.flags,t&(r^-1));else if(t===I(0)){F(e.node.flags,i|o);let t=H(e.node),n=e.getter;e.value=new _(n()),H(t);let r=e.node.flags.value;F(e.node.flags,r&(o^-1))}let u=x.val;if(u!==void 0){let t=u;V(e.node,t,S.val)}let d=e.value;return d.$tag===1?d._0:a()}function $(e){let t=Re(e);return()=>Ve(t)}function He(){v.batch_depth=v.batch_depth-1|0,Te()}function Ue(){v.batch_depth=v.batch_depth+1|0,Se()}function We(e){Ue();let t=e();return He(),t}function Ge(e,t){let n=M(!0);return q(()=>{let r=Z(e);if(n.val){n.val=!1;return}else{t(r);return}})}function Ke(e,t){let n=v.current_owner;v.current_owner=e;let r=t();return v.current_owner=n,r}function qe(e,t){let n=v.current_owner;v.current_owner=e,t(),v.current_owner=n}function Je(e){if(e.disposed)return;e.disposed=!0;let t=e.children.length-1|0;for(;;){let n=t;if(n>=0){Je(A(e.children,n)),t=n-1|0;continue}else break}let n=e.disposers.length-1|0;for(;;){let t=n;if(t>=0){A(e.disposers,t)(),n=t-1|0;continue}else break}let r=e.cleanups.length-1|0;for(;;){let t=r;if(t>=0){A(e.cleanups,t)(),r=t-1|0;continue}else break}j(e.children),j(e.disposers),j(e.cleanups);let i=e.parent;if(i!==void 0){let t=i.children,n=t.length,r=0,a=0;for(;;){let i=r,o=a;if(i<n){let n=t[i];if(n.id!==e.id){t[o]=n,r=i+1|0,a=o+1|0;continue}r=i+1|0;continue}else{de(t,o);return}}}}function Ye(){let e=D.val;return D.val=e+1|0,e}function Xe(e){let t=new oe(Ye(),e,[],[],[],!1);return e===void 0||O(e.children,t),t}function Ze(e){let t=Xe(v.current_owner),n=()=>{Je(t)};return Ke(t,()=>e(n))}function Qe(e){let t=H(void 0),n=e();return H(t),n}function $e(e){let t=H(void 0);e(),H(t)}function et(e){let t=v.current_cleanups;if(t.$tag===1){let n=t._0;O(n,e);return}else{let t=v.current_owner;if(t===void 0)return;O(t.cleanups,e);return}}function tt(e){let t=v.current_owner;t!==void 0&&O(t.cleanups,e)}function nt(e,t){return $(()=>t(Z(e)))}function rt(e,t,n){return $(()=>n(Z(e),Z(t)))}function it(e){return Ae(e)}function at(e){return Z(e)}function ot(e,t){Me(e,t)}function st(e,t){Le(e,t)}function ct(e){return Fe(e)}function lt(e,t){return Ge(e,t)}function ut(e,t){return nt(e,t)}function dt(e){return $(e)}function ft(e,t,n){return rt(e,t,n)}function pt(e){return Ne(e)}function mt(e){return q(e)}function ht(){Ue()}function gt(){He()}function _t(e){return Qe(e)}function vt(e){return We(e)}function yt(e){et(e)}function bt(e){return Ze(e)}function xt(){let e=v.current_owner;if(e!==void 0)return e}function St(e,t){return Ke(e,t)}function Ct(){return v.current_owner!==void 0}function wt(e){let t=v.current_owner;se(()=>{if(t===void 0){$e(e);return}else{qe(t,()=>{$e(()=>{let t=[];K(t,e);let n=t.length,r=0;for(;;){let e=r;if(e<n){let n=t[e];tt(n),r=e+1|0;continue}else return}})});return}})}function Tt(e){let t=it(e);return[()=>at(t),e=>{typeof e==`function`?st(t,e):ot(t,e)}]}function Et(e){return pt(e)}function Dt(e){return mt(e)}function Ot(e){return dt(e)}export{vt as batch,gt as batchEnd,ht as batchStart,ft as combine,Et as createEffect,Ot as createMemo,Dt as createRenderEffect,bt as createRoot,Tt as createSignal,pt as effect,at as get,xt as getOwner,Ct as hasOwner,ut as map,yt as onCleanup,wt as onMount,ct as peek,mt as renderEffect,_t as runUntracked,_t as untrack,St as runWithOwner,ot as set,lt as subscribe,st as update};