marko 6.0.97 → 6.0.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/helpers.d.ts +1 -0
 - package/dist/debug/dom.js +20 -41
 - package/dist/debug/dom.mjs +20 -41
 - package/dist/dom/renderer.d.ts +1 -1
 - package/dist/dom/signals.d.ts +9 -9
 - package/dist/dom.d.ts +1 -0
 - package/dist/dom.js +21 -36
 - package/dist/dom.mjs +21 -36
 - package/dist/translator/index.js +193 -249
 - package/dist/translator/util/get-root.d.ts +1 -0
 - package/package.json +1 -1
 
    
        package/dist/common/helpers.d.ts
    CHANGED
    
    | 
         @@ -1,3 +1,4 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            export declare function _call<T>(fn: (v: T) => unknown, v: T): T;
         
     | 
| 
       1 
2 
     | 
    
         
             
            export declare function classValue(classValue: unknown): string;
         
     | 
| 
       2 
3 
     | 
    
         
             
            export declare function styleValue(styleValue: unknown): string;
         
     | 
| 
       3 
4 
     | 
    
         
             
            export declare function isEventHandler(name: string): name is `on${string}`;
         
     | 
    
        package/dist/debug/dom.js
    CHANGED
    
    | 
         @@ -51,6 +51,7 @@ __export(dom_exports, { 
     | 
|
| 
       51 
51 
     | 
    
         
             
              _attrs_partial_content: () => _attrs_partial_content,
         
     | 
| 
       52 
52 
     | 
    
         
             
              _attrs_script: () => _attrs_script,
         
     | 
| 
       53 
53 
     | 
    
         
             
              _await: () => _await,
         
     | 
| 
      
 54 
     | 
    
         
            +
              _call: () => _call,
         
     | 
| 
       54 
55 
     | 
    
         
             
              _child_setup: () => _child_setup,
         
     | 
| 
       55 
56 
     | 
    
         
             
              _closure: () => _closure,
         
     | 
| 
       56 
57 
     | 
    
         
             
              _closure_get: () => _closure_get,
         
     | 
| 
         @@ -177,6 +178,10 @@ function forUntil(until, from, step, cb) { 
     | 
|
| 
       177 
178 
     | 
    
         
             
            }
         
     | 
| 
       178 
179 
     | 
    
         | 
| 
       179 
180 
     | 
    
         
             
            // src/common/helpers.ts
         
     | 
| 
      
 181 
     | 
    
         
            +
            function _call(fn, v) {
         
     | 
| 
      
 182 
     | 
    
         
            +
              fn(v);
         
     | 
| 
      
 183 
     | 
    
         
            +
              return v;
         
     | 
| 
      
 184 
     | 
    
         
            +
            }
         
     | 
| 
       180 
185 
     | 
    
         
             
            function classValue(classValue2) {
         
     | 
| 
       181 
186 
     | 
    
         
             
              return toDelimitedString(classValue2, " ", stringifyClassObject);
         
     | 
| 
       182 
187 
     | 
    
         
             
            }
         
     | 
| 
         @@ -569,8 +574,7 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) { 
     | 
|
| 
       569 
574 
     | 
    
         
             
                            registeredValues[lastEffect](
         
     | 
| 
       570 
575 
     | 
    
         
             
                              scopeLookup[serialized] ||= {
         
     | 
| 
       571 
576 
     | 
    
         
             
                                ___id: scopeId
         
     | 
| 
       572 
     | 
    
         
            -
                              } 
     | 
| 
       573 
     | 
    
         
            -
                              scopeLookup[serialized]
         
     | 
| 
      
 577 
     | 
    
         
            +
                              }
         
     | 
| 
       574 
578 
     | 
    
         
             
                            );
         
     | 
| 
       575 
579 
     | 
    
         
             
                          } else {
         
     | 
| 
       576 
580 
     | 
    
         
             
                            for (const scope of serialized(serializeContext)) {
         
     | 
| 
         @@ -972,28 +976,17 @@ function _let(valueAccessor, fn) { 
     | 
|
| 
       972 
976 
     | 
    
         
             
                );
         
     | 
| 
       973 
977 
     | 
    
         
             
              }
         
     | 
| 
       974 
978 
     | 
    
         
             
              const valueChangeAccessor = "TagVariableChange:" /* TagVariableChange */ + valueAccessor;
         
     | 
| 
       975 
     | 
    
         
            -
              const update = (scope, value) => {
         
     | 
| 
       976 
     | 
    
         
            -
                if (scope[valueAccessor] !== value) {
         
     | 
| 
       977 
     | 
    
         
            -
                  scope[valueAccessor] = value;
         
     | 
| 
       978 
     | 
    
         
            -
                  fn && fn(scope, value);
         
     | 
| 
       979 
     | 
    
         
            -
                }
         
     | 
| 
       980 
     | 
    
         
            -
              };
         
     | 
| 
       981 
979 
     | 
    
         
             
              return (scope, value, valueChange) => {
         
     | 
| 
       982 
980 
     | 
    
         
             
                if (rendering) {
         
     | 
| 
       983 
981 
     | 
    
         
             
                  if ((scope[valueChangeAccessor] = valueChange) && scope[valueAccessor] !== value || scope.___creating) {
         
     | 
| 
       984 
982 
     | 
    
         
             
                    scope[valueAccessor] = value;
         
     | 
| 
       985 
     | 
    
         
            -
                    fn && fn(scope 
     | 
| 
      
 983 
     | 
    
         
            +
                    fn && fn(scope);
         
     | 
| 
       986 
984 
     | 
    
         
             
                  }
         
     | 
| 
       987 
985 
     | 
    
         
             
                } else if (scope[valueChangeAccessor]) {
         
     | 
| 
       988 
986 
     | 
    
         
             
                  scope[valueChangeAccessor](value);
         
     | 
| 
       989 
     | 
    
         
            -
                } else {
         
     | 
| 
      
 987 
     | 
    
         
            +
                } else if (scope[valueAccessor] !== (scope[valueAccessor] = value) && fn) {
         
     | 
| 
       990 
988 
     | 
    
         
             
                  schedule();
         
     | 
| 
       991 
     | 
    
         
            -
                  queueRender(
         
     | 
| 
       992 
     | 
    
         
            -
                    scope,
         
     | 
| 
       993 
     | 
    
         
            -
                    update,
         
     | 
| 
       994 
     | 
    
         
            -
                    true ? id : valueAccessor,
         
     | 
| 
       995 
     | 
    
         
            -
                    value
         
     | 
| 
       996 
     | 
    
         
            -
                  );
         
     | 
| 
      
 989 
     | 
    
         
            +
                  queueRender(scope, fn, true ? id : valueAccessor);
         
     | 
| 
       997 
990 
     | 
    
         
             
                }
         
     | 
| 
       998 
991 
     | 
    
         
             
                return value;
         
     | 
| 
       999 
992 
     | 
    
         
             
              };
         
     | 
| 
         @@ -1003,7 +996,7 @@ function _const(valueAccessor, fn = () => { 
     | 
|
| 
       1003 
996 
     | 
    
         
             
              return (scope, value) => {
         
     | 
| 
       1004 
997 
     | 
    
         
             
                if (!(valueAccessor in scope) || scope[valueAccessor] !== value) {
         
     | 
| 
       1005 
998 
     | 
    
         
             
                  scope[valueAccessor] = value;
         
     | 
| 
       1006 
     | 
    
         
            -
                  fn(scope 
     | 
| 
      
 999 
     | 
    
         
            +
                  fn(scope);
         
     | 
| 
       1007 
1000 
     | 
    
         
             
                }
         
     | 
| 
       1008 
1001 
     | 
    
         
             
              };
         
     | 
| 
       1009 
1002 
     | 
    
         
             
            }
         
     | 
| 
         @@ -1020,8 +1013,7 @@ function _or(id, fn, defaultPending = 1, scopeIdAccessor = /* @__KEY__ */ "___id 
     | 
|
| 
       1020 
1013 
     | 
    
         
             
                }
         
     | 
| 
       1021 
1014 
     | 
    
         
             
              };
         
     | 
| 
       1022 
1015 
     | 
    
         
             
            }
         
     | 
| 
       1023 
     | 
    
         
            -
            function _for_closure( 
     | 
| 
       1024 
     | 
    
         
            -
              const childSignal = closure(valueAccessor, fn);
         
     | 
| 
      
 1016 
     | 
    
         
            +
            function _for_closure(ownerLoopNodeAccessor, fn) {
         
     | 
| 
       1025 
1017 
     | 
    
         
             
              const loopScopeAccessor = "LoopScopeArray:" /* LoopScopeArray */ + ownerLoopNodeAccessor;
         
     | 
| 
       1026 
1018 
     | 
    
         
             
              const loopScopeMapAccessor = "LoopScopeMap:" /* LoopScopeMap */ + ownerLoopNodeAccessor;
         
     | 
| 
       1027 
1019 
     | 
    
         
             
              const ownerSignal = (ownerScope) => {
         
     | 
| 
         @@ -1033,7 +1025,7 @@ function _for_closure(valueAccessor, ownerLoopNodeAccessor, fn) { 
     | 
|
| 
       1033 
1025 
     | 
    
         
             
                    () => {
         
     | 
| 
       1034 
1026 
     | 
    
         
             
                      for (const scope of scopes) {
         
     | 
| 
       1035 
1027 
     | 
    
         
             
                        if (!scope.___creating && !scope.___destroyed) {
         
     | 
| 
       1036 
     | 
    
         
            -
                           
     | 
| 
      
 1028 
     | 
    
         
            +
                          fn(scope);
         
     | 
| 
       1037 
1029 
     | 
    
         
             
                        }
         
     | 
| 
       1038 
1030 
     | 
    
         
             
                      }
         
     | 
| 
       1039 
1031 
     | 
    
         
             
                    },
         
     | 
| 
         @@ -1043,20 +1035,19 @@ function _for_closure(valueAccessor, ownerLoopNodeAccessor, fn) { 
     | 
|
| 
       1043 
1035 
     | 
    
         
             
                  );
         
     | 
| 
       1044 
1036 
     | 
    
         
             
                }
         
     | 
| 
       1045 
1037 
     | 
    
         
             
              };
         
     | 
| 
       1046 
     | 
    
         
            -
              ownerSignal._ =  
     | 
| 
      
 1038 
     | 
    
         
            +
              ownerSignal._ = fn;
         
     | 
| 
       1047 
1039 
     | 
    
         
             
              return ownerSignal;
         
     | 
| 
       1048 
1040 
     | 
    
         
             
            }
         
     | 
| 
       1049 
     | 
    
         
            -
            function _if_closure( 
     | 
| 
       1050 
     | 
    
         
            -
              const childSignal = closure(valueAccessor, fn);
         
     | 
| 
      
 1041 
     | 
    
         
            +
            function _if_closure(ownerConditionalNodeAccessor, branch, fn) {
         
     | 
| 
       1051 
1042 
     | 
    
         
             
              const scopeAccessor = "ConditionalScope:" /* ConditionalScope */ + ownerConditionalNodeAccessor;
         
     | 
| 
       1052 
1043 
     | 
    
         
             
              const branchAccessor = "ConditionalRenderer:" /* ConditionalRenderer */ + ownerConditionalNodeAccessor;
         
     | 
| 
       1053 
1044 
     | 
    
         
             
              const ownerSignal = (scope) => {
         
     | 
| 
       1054 
1045 
     | 
    
         
             
                const ifScope = scope[scopeAccessor];
         
     | 
| 
       1055 
1046 
     | 
    
         
             
                if (ifScope && !ifScope.___creating && (scope[branchAccessor] || 0) === branch) {
         
     | 
| 
       1056 
     | 
    
         
            -
                  queueRender(ifScope,  
     | 
| 
      
 1047 
     | 
    
         
            +
                  queueRender(ifScope, fn, -1);
         
     | 
| 
       1057 
1048 
     | 
    
         
             
                }
         
     | 
| 
       1058 
1049 
     | 
    
         
             
              };
         
     | 
| 
       1059 
     | 
    
         
            -
              ownerSignal._ =  
     | 
| 
      
 1050 
     | 
    
         
            +
              ownerSignal._ = fn;
         
     | 
| 
       1060 
1051 
     | 
    
         
             
              return ownerSignal;
         
     | 
| 
       1061 
1052 
     | 
    
         
             
            }
         
     | 
| 
       1062 
1053 
     | 
    
         
             
            function subscribeToScopeSet(ownerScope, accessor, scope) {
         
     | 
| 
         @@ -1089,10 +1080,9 @@ function _closure(...closureSignals) { 
     | 
|
| 
       1089 
1080 
     | 
    
         
             
              };
         
     | 
| 
       1090 
1081 
     | 
    
         
             
            }
         
     | 
| 
       1091 
1082 
     | 
    
         
             
            function _closure_get(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       1092 
     | 
    
         
            -
              const childSignal = closure(valueAccessor, fn, getOwnerScope);
         
     | 
| 
       1093 
1083 
     | 
    
         
             
              const closureSignal = ((scope) => {
         
     | 
| 
       1094 
1084 
     | 
    
         
             
                scope[closureSignal.___signalIndexAccessor] = closureSignal.___index;
         
     | 
| 
       1095 
     | 
    
         
            -
                 
     | 
| 
      
 1085 
     | 
    
         
            +
                fn(scope);
         
     | 
| 
       1096 
1086 
     | 
    
         
             
                subscribeToScopeSet(
         
     | 
| 
       1097 
1087 
     | 
    
         
             
                  getOwnerScope ? getOwnerScope(scope) : scope["_" /* Owner */],
         
     | 
| 
       1098 
1088 
     | 
    
         
             
                  closureSignal.___scopeInstancesAccessor,
         
     | 
| 
         @@ -1103,14 +1093,6 @@ function _closure_get(valueAccessor, fn, getOwnerScope) { 
     | 
|
| 
       1103 
1093 
     | 
    
         
             
              closureSignal.___signalIndexAccessor = "ClosureSignalIndex:" /* ClosureSignalIndex */ + valueAccessor;
         
     | 
| 
       1104 
1094 
     | 
    
         
             
              return closureSignal;
         
     | 
| 
       1105 
1095 
     | 
    
         
             
            }
         
     | 
| 
       1106 
     | 
    
         
            -
            function closure(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       1107 
     | 
    
         
            -
              return (scope) => {
         
     | 
| 
       1108 
     | 
    
         
            -
                fn(
         
     | 
| 
       1109 
     | 
    
         
            -
                  scope,
         
     | 
| 
       1110 
     | 
    
         
            -
                  (getOwnerScope ? getOwnerScope(scope) : scope["_" /* Owner */])[valueAccessor]
         
     | 
| 
       1111 
     | 
    
         
            -
                );
         
     | 
| 
       1112 
     | 
    
         
            -
              };
         
     | 
| 
       1113 
     | 
    
         
            -
            }
         
     | 
| 
       1114 
1096 
     | 
    
         
             
            function _child_setup(setup) {
         
     | 
| 
       1115 
1097 
     | 
    
         
             
              setup._ = (scope, owner) => {
         
     | 
| 
       1116 
1098 
     | 
    
         
             
                scope["_" /* Owner */] = owner;
         
     | 
| 
         @@ -2164,11 +2146,8 @@ function prepareEffects(fn) { 
     | 
|
| 
       2164 
2146 
     | 
    
         
             
              return preparedEffects;
         
     | 
| 
       2165 
2147 
     | 
    
         
             
            }
         
     | 
| 
       2166 
2148 
     | 
    
         
             
            var runEffects = ((effects) => {
         
     | 
| 
       2167 
     | 
    
         
            -
              for (let i = 0 
     | 
| 
       2168 
     | 
    
         
            -
                effects[i++](
         
     | 
| 
       2169 
     | 
    
         
            -
                  scope = effects[i++],
         
     | 
| 
       2170 
     | 
    
         
            -
                  scope
         
     | 
| 
       2171 
     | 
    
         
            -
                );
         
     | 
| 
      
 2149 
     | 
    
         
            +
              for (let i = 0; i < effects.length; ) {
         
     | 
| 
      
 2150 
     | 
    
         
            +
                effects[i++](effects[i++]);
         
     | 
| 
       2172 
2151 
     | 
    
         
             
              }
         
     | 
| 
       2173 
2152 
     | 
    
         
             
            });
         
     | 
| 
       2174 
2153 
     | 
    
         
             
            function runRenders() {
         
     | 
| 
         @@ -2227,7 +2206,7 @@ var _enable_catch = () => { 
     | 
|
| 
       2227 
2206 
     | 
    
         
             
                    scope = effects[i++];
         
     | 
| 
       2228 
2207 
     | 
    
         
             
                    branch = scope.___closestBranch;
         
     | 
| 
       2229 
2208 
     | 
    
         
             
                    if (!branch?.___destroyed && !(checkPending && handlePendingTry(fn, scope, branch))) {
         
     | 
| 
       2230 
     | 
    
         
            -
                      fn(scope 
     | 
| 
      
 2209 
     | 
    
         
            +
                      fn(scope);
         
     | 
| 
       2231 
2210 
     | 
    
         
             
                    }
         
     | 
| 
       2232 
2211 
     | 
    
         
             
                  }
         
     | 
| 
       2233 
2212 
     | 
    
         
             
                } else {
         
     | 
    
        package/dist/debug/dom.mjs
    CHANGED
    
    | 
         @@ -75,6 +75,10 @@ function forUntil(until, from, step, cb) { 
     | 
|
| 
       75 
75 
     | 
    
         
             
            }
         
     | 
| 
       76 
76 
     | 
    
         | 
| 
       77 
77 
     | 
    
         
             
            // src/common/helpers.ts
         
     | 
| 
      
 78 
     | 
    
         
            +
            function _call(fn, v) {
         
     | 
| 
      
 79 
     | 
    
         
            +
              fn(v);
         
     | 
| 
      
 80 
     | 
    
         
            +
              return v;
         
     | 
| 
      
 81 
     | 
    
         
            +
            }
         
     | 
| 
       78 
82 
     | 
    
         
             
            function classValue(classValue2) {
         
     | 
| 
       79 
83 
     | 
    
         
             
              return toDelimitedString(classValue2, " ", stringifyClassObject);
         
     | 
| 
       80 
84 
     | 
    
         
             
            }
         
     | 
| 
         @@ -467,8 +471,7 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) { 
     | 
|
| 
       467 
471 
     | 
    
         
             
                            registeredValues[lastEffect](
         
     | 
| 
       468 
472 
     | 
    
         
             
                              scopeLookup[serialized] ||= {
         
     | 
| 
       469 
473 
     | 
    
         
             
                                ___id: scopeId
         
     | 
| 
       470 
     | 
    
         
            -
                              } 
     | 
| 
       471 
     | 
    
         
            -
                              scopeLookup[serialized]
         
     | 
| 
      
 474 
     | 
    
         
            +
                              }
         
     | 
| 
       472 
475 
     | 
    
         
             
                            );
         
     | 
| 
       473 
476 
     | 
    
         
             
                          } else {
         
     | 
| 
       474 
477 
     | 
    
         
             
                            for (const scope of serialized(serializeContext)) {
         
     | 
| 
         @@ -870,28 +873,17 @@ function _let(valueAccessor, fn) { 
     | 
|
| 
       870 
873 
     | 
    
         
             
                );
         
     | 
| 
       871 
874 
     | 
    
         
             
              }
         
     | 
| 
       872 
875 
     | 
    
         
             
              const valueChangeAccessor = "TagVariableChange:" /* TagVariableChange */ + valueAccessor;
         
     | 
| 
       873 
     | 
    
         
            -
              const update = (scope, value) => {
         
     | 
| 
       874 
     | 
    
         
            -
                if (scope[valueAccessor] !== value) {
         
     | 
| 
       875 
     | 
    
         
            -
                  scope[valueAccessor] = value;
         
     | 
| 
       876 
     | 
    
         
            -
                  fn && fn(scope, value);
         
     | 
| 
       877 
     | 
    
         
            -
                }
         
     | 
| 
       878 
     | 
    
         
            -
              };
         
     | 
| 
       879 
876 
     | 
    
         
             
              return (scope, value, valueChange) => {
         
     | 
| 
       880 
877 
     | 
    
         
             
                if (rendering) {
         
     | 
| 
       881 
878 
     | 
    
         
             
                  if ((scope[valueChangeAccessor] = valueChange) && scope[valueAccessor] !== value || scope.___creating) {
         
     | 
| 
       882 
879 
     | 
    
         
             
                    scope[valueAccessor] = value;
         
     | 
| 
       883 
     | 
    
         
            -
                    fn && fn(scope 
     | 
| 
      
 880 
     | 
    
         
            +
                    fn && fn(scope);
         
     | 
| 
       884 
881 
     | 
    
         
             
                  }
         
     | 
| 
       885 
882 
     | 
    
         
             
                } else if (scope[valueChangeAccessor]) {
         
     | 
| 
       886 
883 
     | 
    
         
             
                  scope[valueChangeAccessor](value);
         
     | 
| 
       887 
     | 
    
         
            -
                } else {
         
     | 
| 
      
 884 
     | 
    
         
            +
                } else if (scope[valueAccessor] !== (scope[valueAccessor] = value) && fn) {
         
     | 
| 
       888 
885 
     | 
    
         
             
                  schedule();
         
     | 
| 
       889 
     | 
    
         
            -
                  queueRender(
         
     | 
| 
       890 
     | 
    
         
            -
                    scope,
         
     | 
| 
       891 
     | 
    
         
            -
                    update,
         
     | 
| 
       892 
     | 
    
         
            -
                    true ? id : valueAccessor,
         
     | 
| 
       893 
     | 
    
         
            -
                    value
         
     | 
| 
       894 
     | 
    
         
            -
                  );
         
     | 
| 
      
 886 
     | 
    
         
            +
                  queueRender(scope, fn, true ? id : valueAccessor);
         
     | 
| 
       895 
887 
     | 
    
         
             
                }
         
     | 
| 
       896 
888 
     | 
    
         
             
                return value;
         
     | 
| 
       897 
889 
     | 
    
         
             
              };
         
     | 
| 
         @@ -901,7 +893,7 @@ function _const(valueAccessor, fn = () => { 
     | 
|
| 
       901 
893 
     | 
    
         
             
              return (scope, value) => {
         
     | 
| 
       902 
894 
     | 
    
         
             
                if (!(valueAccessor in scope) || scope[valueAccessor] !== value) {
         
     | 
| 
       903 
895 
     | 
    
         
             
                  scope[valueAccessor] = value;
         
     | 
| 
       904 
     | 
    
         
            -
                  fn(scope 
     | 
| 
      
 896 
     | 
    
         
            +
                  fn(scope);
         
     | 
| 
       905 
897 
     | 
    
         
             
                }
         
     | 
| 
       906 
898 
     | 
    
         
             
              };
         
     | 
| 
       907 
899 
     | 
    
         
             
            }
         
     | 
| 
         @@ -918,8 +910,7 @@ function _or(id, fn, defaultPending = 1, scopeIdAccessor = /* @__KEY__ */ "___id 
     | 
|
| 
       918 
910 
     | 
    
         
             
                }
         
     | 
| 
       919 
911 
     | 
    
         
             
              };
         
     | 
| 
       920 
912 
     | 
    
         
             
            }
         
     | 
| 
       921 
     | 
    
         
            -
            function _for_closure( 
     | 
| 
       922 
     | 
    
         
            -
              const childSignal = closure(valueAccessor, fn);
         
     | 
| 
      
 913 
     | 
    
         
            +
            function _for_closure(ownerLoopNodeAccessor, fn) {
         
     | 
| 
       923 
914 
     | 
    
         
             
              const loopScopeAccessor = "LoopScopeArray:" /* LoopScopeArray */ + ownerLoopNodeAccessor;
         
     | 
| 
       924 
915 
     | 
    
         
             
              const loopScopeMapAccessor = "LoopScopeMap:" /* LoopScopeMap */ + ownerLoopNodeAccessor;
         
     | 
| 
       925 
916 
     | 
    
         
             
              const ownerSignal = (ownerScope) => {
         
     | 
| 
         @@ -931,7 +922,7 @@ function _for_closure(valueAccessor, ownerLoopNodeAccessor, fn) { 
     | 
|
| 
       931 
922 
     | 
    
         
             
                    () => {
         
     | 
| 
       932 
923 
     | 
    
         
             
                      for (const scope of scopes) {
         
     | 
| 
       933 
924 
     | 
    
         
             
                        if (!scope.___creating && !scope.___destroyed) {
         
     | 
| 
       934 
     | 
    
         
            -
                           
     | 
| 
      
 925 
     | 
    
         
            +
                          fn(scope);
         
     | 
| 
       935 
926 
     | 
    
         
             
                        }
         
     | 
| 
       936 
927 
     | 
    
         
             
                      }
         
     | 
| 
       937 
928 
     | 
    
         
             
                    },
         
     | 
| 
         @@ -941,20 +932,19 @@ function _for_closure(valueAccessor, ownerLoopNodeAccessor, fn) { 
     | 
|
| 
       941 
932 
     | 
    
         
             
                  );
         
     | 
| 
       942 
933 
     | 
    
         
             
                }
         
     | 
| 
       943 
934 
     | 
    
         
             
              };
         
     | 
| 
       944 
     | 
    
         
            -
              ownerSignal._ =  
     | 
| 
      
 935 
     | 
    
         
            +
              ownerSignal._ = fn;
         
     | 
| 
       945 
936 
     | 
    
         
             
              return ownerSignal;
         
     | 
| 
       946 
937 
     | 
    
         
             
            }
         
     | 
| 
       947 
     | 
    
         
            -
            function _if_closure( 
     | 
| 
       948 
     | 
    
         
            -
              const childSignal = closure(valueAccessor, fn);
         
     | 
| 
      
 938 
     | 
    
         
            +
            function _if_closure(ownerConditionalNodeAccessor, branch, fn) {
         
     | 
| 
       949 
939 
     | 
    
         
             
              const scopeAccessor = "ConditionalScope:" /* ConditionalScope */ + ownerConditionalNodeAccessor;
         
     | 
| 
       950 
940 
     | 
    
         
             
              const branchAccessor = "ConditionalRenderer:" /* ConditionalRenderer */ + ownerConditionalNodeAccessor;
         
     | 
| 
       951 
941 
     | 
    
         
             
              const ownerSignal = (scope) => {
         
     | 
| 
       952 
942 
     | 
    
         
             
                const ifScope = scope[scopeAccessor];
         
     | 
| 
       953 
943 
     | 
    
         
             
                if (ifScope && !ifScope.___creating && (scope[branchAccessor] || 0) === branch) {
         
     | 
| 
       954 
     | 
    
         
            -
                  queueRender(ifScope,  
     | 
| 
      
 944 
     | 
    
         
            +
                  queueRender(ifScope, fn, -1);
         
     | 
| 
       955 
945 
     | 
    
         
             
                }
         
     | 
| 
       956 
946 
     | 
    
         
             
              };
         
     | 
| 
       957 
     | 
    
         
            -
              ownerSignal._ =  
     | 
| 
      
 947 
     | 
    
         
            +
              ownerSignal._ = fn;
         
     | 
| 
       958 
948 
     | 
    
         
             
              return ownerSignal;
         
     | 
| 
       959 
949 
     | 
    
         
             
            }
         
     | 
| 
       960 
950 
     | 
    
         
             
            function subscribeToScopeSet(ownerScope, accessor, scope) {
         
     | 
| 
         @@ -987,10 +977,9 @@ function _closure(...closureSignals) { 
     | 
|
| 
       987 
977 
     | 
    
         
             
              };
         
     | 
| 
       988 
978 
     | 
    
         
             
            }
         
     | 
| 
       989 
979 
     | 
    
         
             
            function _closure_get(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       990 
     | 
    
         
            -
              const childSignal = closure(valueAccessor, fn, getOwnerScope);
         
     | 
| 
       991 
980 
     | 
    
         
             
              const closureSignal = ((scope) => {
         
     | 
| 
       992 
981 
     | 
    
         
             
                scope[closureSignal.___signalIndexAccessor] = closureSignal.___index;
         
     | 
| 
       993 
     | 
    
         
            -
                 
     | 
| 
      
 982 
     | 
    
         
            +
                fn(scope);
         
     | 
| 
       994 
983 
     | 
    
         
             
                subscribeToScopeSet(
         
     | 
| 
       995 
984 
     | 
    
         
             
                  getOwnerScope ? getOwnerScope(scope) : scope["_" /* Owner */],
         
     | 
| 
       996 
985 
     | 
    
         
             
                  closureSignal.___scopeInstancesAccessor,
         
     | 
| 
         @@ -1001,14 +990,6 @@ function _closure_get(valueAccessor, fn, getOwnerScope) { 
     | 
|
| 
       1001 
990 
     | 
    
         
             
              closureSignal.___signalIndexAccessor = "ClosureSignalIndex:" /* ClosureSignalIndex */ + valueAccessor;
         
     | 
| 
       1002 
991 
     | 
    
         
             
              return closureSignal;
         
     | 
| 
       1003 
992 
     | 
    
         
             
            }
         
     | 
| 
       1004 
     | 
    
         
            -
            function closure(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       1005 
     | 
    
         
            -
              return (scope) => {
         
     | 
| 
       1006 
     | 
    
         
            -
                fn(
         
     | 
| 
       1007 
     | 
    
         
            -
                  scope,
         
     | 
| 
       1008 
     | 
    
         
            -
                  (getOwnerScope ? getOwnerScope(scope) : scope["_" /* Owner */])[valueAccessor]
         
     | 
| 
       1009 
     | 
    
         
            -
                );
         
     | 
| 
       1010 
     | 
    
         
            -
              };
         
     | 
| 
       1011 
     | 
    
         
            -
            }
         
     | 
| 
       1012 
993 
     | 
    
         
             
            function _child_setup(setup) {
         
     | 
| 
       1013 
994 
     | 
    
         
             
              setup._ = (scope, owner) => {
         
     | 
| 
       1014 
995 
     | 
    
         
             
                scope["_" /* Owner */] = owner;
         
     | 
| 
         @@ -2062,11 +2043,8 @@ function prepareEffects(fn) { 
     | 
|
| 
       2062 
2043 
     | 
    
         
             
              return preparedEffects;
         
     | 
| 
       2063 
2044 
     | 
    
         
             
            }
         
     | 
| 
       2064 
2045 
     | 
    
         
             
            var runEffects = ((effects) => {
         
     | 
| 
       2065 
     | 
    
         
            -
              for (let i = 0 
     | 
| 
       2066 
     | 
    
         
            -
                effects[i++](
         
     | 
| 
       2067 
     | 
    
         
            -
                  scope = effects[i++],
         
     | 
| 
       2068 
     | 
    
         
            -
                  scope
         
     | 
| 
       2069 
     | 
    
         
            -
                );
         
     | 
| 
      
 2046 
     | 
    
         
            +
              for (let i = 0; i < effects.length; ) {
         
     | 
| 
      
 2047 
     | 
    
         
            +
                effects[i++](effects[i++]);
         
     | 
| 
       2070 
2048 
     | 
    
         
             
              }
         
     | 
| 
       2071 
2049 
     | 
    
         
             
            });
         
     | 
| 
       2072 
2050 
     | 
    
         
             
            function runRenders() {
         
     | 
| 
         @@ -2125,7 +2103,7 @@ var _enable_catch = () => { 
     | 
|
| 
       2125 
2103 
     | 
    
         
             
                    scope = effects[i++];
         
     | 
| 
       2126 
2104 
     | 
    
         
             
                    branch = scope.___closestBranch;
         
     | 
| 
       2127 
2105 
     | 
    
         
             
                    if (!branch?.___destroyed && !(checkPending && handlePendingTry(fn, scope, branch))) {
         
     | 
| 
       2128 
     | 
    
         
            -
                      fn(scope 
     | 
| 
      
 2106 
     | 
    
         
            +
                      fn(scope);
         
     | 
| 
       2129 
2107 
     | 
    
         
             
                    }
         
     | 
| 
       2130 
2108 
     | 
    
         
             
                  }
         
     | 
| 
       2131 
2109 
     | 
    
         
             
                } else {
         
     | 
| 
         @@ -2387,6 +2365,7 @@ export { 
     | 
|
| 
       2387 
2365 
     | 
    
         
             
              _attrs_partial_content,
         
     | 
| 
       2388 
2366 
     | 
    
         
             
              _attrs_script,
         
     | 
| 
       2389 
2367 
     | 
    
         
             
              _await,
         
     | 
| 
      
 2368 
     | 
    
         
            +
              _call,
         
     | 
| 
       2390 
2369 
     | 
    
         
             
              _child_setup,
         
     | 
| 
       2391 
2370 
     | 
    
         
             
              _closure,
         
     | 
| 
       2392 
2371 
     | 
    
         
             
              _closure_get,
         
     | 
    
        package/dist/dom/renderer.d.ts
    CHANGED
    
    | 
         @@ -18,6 +18,6 @@ export declare function _content(id: string, template: string | 0, walks?: strin 
     | 
|
| 
       18 
18 
     | 
    
         
             
                _: Signal<unknown>;
         
     | 
| 
       19 
19 
     | 
    
         
             
            } | SetupFn | 0, params?: Signal<unknown> | 0, dynamicScopesAccessor?: Accessor): (owner?: Scope) => Renderer;
         
     | 
| 
       20 
20 
     | 
    
         
             
            export declare function _content_resume(id: string, template: string | 0, walks?: string | 0, setup?: SetupFn | 0, params?: Signal<unknown> | 0, dynamicScopesAccessor?: Accessor): (owner?: Scope) => Renderer;
         
     | 
| 
       21 
     | 
    
         
            -
            export declare function _content_closures(renderer: ReturnType<typeof _content>, closureFns: Record<Accessor, SignalFn 
     | 
| 
      
 21 
     | 
    
         
            +
            export declare function _content_closures(renderer: ReturnType<typeof _content>, closureFns: Record<Accessor, SignalFn>): (owner: Scope, closureValues: Record<Accessor, unknown>) => Renderer;
         
     | 
| 
       22 
22 
     | 
    
         
             
            export declare function _content_branch(template: string | 0, walks?: string | 0, setup?: SetupFn | 0, params?: Signal<unknown> | 0): Renderer;
         
     | 
| 
       23 
23 
     | 
    
         
             
            export {};
         
     | 
    
        package/dist/dom/signals.d.ts
    CHANGED
    
    | 
         @@ -1,23 +1,23 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import { type Accessor, type Scope } from "../common/types";
         
     | 
| 
       2 
     | 
    
         
            -
            export type SignalFn 
     | 
| 
       3 
     | 
    
         
            -
            export type Signal<T> =  
     | 
| 
      
 2 
     | 
    
         
            +
            export type SignalFn = (scope: Scope) => void;
         
     | 
| 
      
 3 
     | 
    
         
            +
            export type Signal<T> = ((scope: Scope, value: T) => void) & {
         
     | 
| 
       4 
4 
     | 
    
         
             
                ___subscribe?(scope: Scope): void;
         
     | 
| 
       5 
5 
     | 
    
         
             
            };
         
     | 
| 
       6 
     | 
    
         
            -
            export declare function _let<T>(valueAccessor: Accessor, fn?: SignalFn 
     | 
| 
       7 
     | 
    
         
            -
            export declare function _const<T>(valueAccessor: Accessor, fn?: SignalFn 
     | 
| 
       8 
     | 
    
         
            -
            export declare function _or(id: number, fn: SignalFn 
     | 
| 
       9 
     | 
    
         
            -
            export declare function _for_closure 
     | 
| 
       10 
     | 
    
         
            -
            export declare function _if_closure 
     | 
| 
      
 6 
     | 
    
         
            +
            export declare function _let<T>(valueAccessor: Accessor, fn?: SignalFn): (scope: Scope, value: T, valueChange?: (v: T) => void) => T;
         
     | 
| 
      
 7 
     | 
    
         
            +
            export declare function _const<T>(valueAccessor: Accessor, fn?: SignalFn): Signal<T>;
         
     | 
| 
      
 8 
     | 
    
         
            +
            export declare function _or(id: number, fn: SignalFn, defaultPending?: number, scopeIdAccessor?: Accessor): Signal<never>;
         
     | 
| 
      
 9 
     | 
    
         
            +
            export declare function _for_closure(ownerLoopNodeAccessor: Accessor, fn: SignalFn): SignalFn;
         
     | 
| 
      
 10 
     | 
    
         
            +
            export declare function _if_closure(ownerConditionalNodeAccessor: Accessor, branch: number, fn: SignalFn): SignalFn;
         
     | 
| 
       11 
11 
     | 
    
         
             
            export declare function subscribeToScopeSet(ownerScope: Scope, accessor: Accessor, scope: Scope): void;
         
     | 
| 
       12 
12 
     | 
    
         
             
            export declare function _closure(...closureSignals: ReturnType<typeof _closure_get>[]): (scope: Scope) => void;
         
     | 
| 
       13 
     | 
    
         
            -
            export declare function _closure_get 
     | 
| 
      
 13 
     | 
    
         
            +
            export declare function _closure_get(valueAccessor: Accessor, fn: SignalFn, getOwnerScope?: (scope: Scope) => Scope): SignalFn & {
         
     | 
| 
       14 
14 
     | 
    
         
             
                ___scopeInstancesAccessor: string;
         
     | 
| 
       15 
15 
     | 
    
         
             
                ___signalIndexAccessor: string;
         
     | 
| 
       16 
16 
     | 
    
         
             
                ___index: number;
         
     | 
| 
       17 
17 
     | 
    
         
             
            };
         
     | 
| 
       18 
18 
     | 
    
         
             
            export declare function _child_setup(setup: Signal<never> & {
         
     | 
| 
       19 
19 
     | 
    
         
             
                _: Signal<Scope>;
         
     | 
| 
       20 
     | 
    
         
            -
            }):  
     | 
| 
      
 20 
     | 
    
         
            +
            }): ((scope: Scope, value: never) => void) & {
         
     | 
| 
       21 
21 
     | 
    
         
             
                ___subscribe?(scope: Scope): void;
         
     | 
| 
       22 
22 
     | 
    
         
             
            } & {
         
     | 
| 
       23 
23 
     | 
    
         
             
                _: Signal<Scope>;
         
     | 
    
        package/dist/dom.d.ts
    CHANGED
    
    | 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            export { attrTag, attrTags } from "./common/attr-tag";
         
     | 
| 
       2 
2 
     | 
    
         
             
            export { _assert_hoist } from "./common/errors";
         
     | 
| 
       3 
3 
     | 
    
         
             
            export { forIn, forOf, forTo, forUntil } from "./common/for";
         
     | 
| 
      
 4 
     | 
    
         
            +
            export { _call } from "./common/helpers";
         
     | 
| 
       4 
5 
     | 
    
         
             
            export { $signal, $signalReset } from "./dom/abort-signal";
         
     | 
| 
       5 
6 
     | 
    
         
             
            export { compat } from "./dom/compat";
         
     | 
| 
       6 
7 
     | 
    
         
             
            export { _await, _dynamic_tag, _for_in, _for_of, _for_to, _for_until, _if, _try, } from "./dom/control-flow";
         
     | 
    
        package/dist/dom.js
    CHANGED
    
    | 
         @@ -48,6 +48,7 @@ __export(dom_exports, { 
     | 
|
| 
       48 
48 
     | 
    
         
             
              _attrs_partial_content: () => _attrs_partial_content,
         
     | 
| 
       49 
49 
     | 
    
         
             
              _attrs_script: () => _attrs_script,
         
     | 
| 
       50 
50 
     | 
    
         
             
              _await: () => _await,
         
     | 
| 
      
 51 
     | 
    
         
            +
              _call: () => _call,
         
     | 
| 
       51 
52 
     | 
    
         
             
              _child_setup: () => _child_setup,
         
     | 
| 
       52 
53 
     | 
    
         
             
              _closure: () => _closure,
         
     | 
| 
       53 
54 
     | 
    
         
             
              _closure_get: () => _closure_get,
         
     | 
| 
         @@ -137,6 +138,9 @@ function forUntil(until, from, step, cb) { 
     | 
|
| 
       137 
138 
     | 
    
         
             
            }
         
     | 
| 
       138 
139 
     | 
    
         | 
| 
       139 
140 
     | 
    
         
             
            // src/common/helpers.ts
         
     | 
| 
      
 141 
     | 
    
         
            +
            function _call(fn, v) {
         
     | 
| 
      
 142 
     | 
    
         
            +
              return fn(v), v;
         
     | 
| 
      
 143 
     | 
    
         
            +
            }
         
     | 
| 
       140 
144 
     | 
    
         
             
            function classValue(classValue2) {
         
     | 
| 
       141 
145 
     | 
    
         
             
              return toDelimitedString(classValue2, " ", stringifyClassObject);
         
     | 
| 
       142 
146 
     | 
    
         
             
            }
         
     | 
| 
         @@ -367,8 +371,7 @@ function init(runtimeId = "M") { 
     | 
|
| 
       367 
371 
     | 
    
         
             
                            registeredValues[lastEffect](
         
     | 
| 
       368 
372 
     | 
    
         
             
                              scopeLookup[serialized] ||= {
         
     | 
| 
       369 
373 
     | 
    
         
             
                                l: scopeId
         
     | 
| 
       370 
     | 
    
         
            -
                              } 
     | 
| 
       371 
     | 
    
         
            -
                              scopeLookup[serialized]
         
     | 
| 
      
 374 
     | 
    
         
            +
                              }
         
     | 
| 
       372 
375 
     | 
    
         
             
                            );
         
     | 
| 
       373 
376 
     | 
    
         
             
                          else
         
     | 
| 
       374 
377 
     | 
    
         
             
                            for (let scope of serialized(serializeContext))
         
     | 
| 
         @@ -618,20 +621,13 @@ function triggerMacroTask() { 
     | 
|
| 
       618 
621 
     | 
    
         
             
            function _let(valueAccessor, fn) {
         
     | 
| 
       619 
622 
     | 
    
         
             
              if (0)
         
     | 
| 
       620 
623 
     | 
    
         
             
                var id;
         
     | 
| 
       621 
     | 
    
         
            -
              let valueChangeAccessor = "o" /* TagVariableChange */ + valueAccessor 
     | 
| 
       622 
     | 
    
         
            -
             
     | 
| 
       623 
     | 
    
         
            -
              };
         
     | 
| 
       624 
     | 
    
         
            -
              return (scope, value, valueChange) => (rendering ? ((scope[valueChangeAccessor] = valueChange) && scope[valueAccessor] !== value || scope.n) && (scope[valueAccessor] = value, fn && fn(scope, value)) : scope[valueChangeAccessor] ? scope[valueChangeAccessor](value) : (schedule(), queueRender(
         
     | 
| 
       625 
     | 
    
         
            -
                scope,
         
     | 
| 
       626 
     | 
    
         
            -
                update,
         
     | 
| 
       627 
     | 
    
         
            -
                valueAccessor,
         
     | 
| 
       628 
     | 
    
         
            -
                value
         
     | 
| 
       629 
     | 
    
         
            -
              )), value);
         
     | 
| 
      
 624 
     | 
    
         
            +
              let valueChangeAccessor = "o" /* TagVariableChange */ + valueAccessor;
         
     | 
| 
      
 625 
     | 
    
         
            +
              return (scope, value, valueChange) => (rendering ? ((scope[valueChangeAccessor] = valueChange) && scope[valueAccessor] !== value || scope.n) && (scope[valueAccessor] = value, fn && fn(scope)) : scope[valueChangeAccessor] ? scope[valueChangeAccessor](value) : scope[valueAccessor] !== (scope[valueAccessor] = value) && fn && (schedule(), queueRender(scope, fn, valueAccessor)), value);
         
     | 
| 
       630 
626 
     | 
    
         
             
            }
         
     | 
| 
       631 
627 
     | 
    
         
             
            function _const(valueAccessor, fn = () => {
         
     | 
| 
       632 
628 
     | 
    
         
             
            }) {
         
     | 
| 
       633 
629 
     | 
    
         
             
              return (scope, value) => {
         
     | 
| 
       634 
     | 
    
         
            -
                (!(valueAccessor in scope) || scope[valueAccessor] !== value) && (scope[valueAccessor] = value, fn(scope 
     | 
| 
      
 630 
     | 
    
         
            +
                (!(valueAccessor in scope) || scope[valueAccessor] !== value) && (scope[valueAccessor] = value, fn(scope));
         
     | 
| 
       635 
631 
     | 
    
         
             
              };
         
     | 
| 
       636 
632 
     | 
    
         
             
            }
         
     | 
| 
       637 
633 
     | 
    
         
             
            function _or(id, fn, defaultPending = 1, scopeIdAccessor = /* @__KEY__ */ "l") {
         
     | 
| 
         @@ -639,28 +635,28 @@ function _or(id, fn, defaultPending = 1, scopeIdAccessor = /* @__KEY__ */ "l") { 
     | 
|
| 
       639 
635 
     | 
    
         
             
                scope.n ? scope[id] === void 0 ? scope[id] = defaultPending : --scope[id] || fn(scope) : queueRender(scope, fn, id, 0, scope[scopeIdAccessor]);
         
     | 
| 
       640 
636 
     | 
    
         
             
              };
         
     | 
| 
       641 
637 
     | 
    
         
             
            }
         
     | 
| 
       642 
     | 
    
         
            -
            function _for_closure( 
     | 
| 
       643 
     | 
    
         
            -
              let  
     | 
| 
      
 638 
     | 
    
         
            +
            function _for_closure(ownerLoopNodeAccessor, fn) {
         
     | 
| 
      
 639 
     | 
    
         
            +
              let loopScopeAccessor = "l" /* LoopScopeArray */ + ownerLoopNodeAccessor, loopScopeMapAccessor = "m" /* LoopScopeMap */ + ownerLoopNodeAccessor, ownerSignal = (ownerScope) => {
         
     | 
| 
       644 
640 
     | 
    
         
             
                let scopes = ownerScope[loopScopeAccessor] ||= ownerScope[loopScopeMapAccessor] ? [...ownerScope[loopScopeMapAccessor].values()] : [], [firstScope] = scopes;
         
     | 
| 
       645 
641 
     | 
    
         
             
                firstScope && queueRender(
         
     | 
| 
       646 
642 
     | 
    
         
             
                  ownerScope,
         
     | 
| 
       647 
643 
     | 
    
         
             
                  () => {
         
     | 
| 
       648 
644 
     | 
    
         
             
                    for (let scope of scopes)
         
     | 
| 
       649 
     | 
    
         
            -
                      !scope.n && !scope.z &&  
     | 
| 
      
 645 
     | 
    
         
            +
                      !scope.n && !scope.z && fn(scope);
         
     | 
| 
       650 
646 
     | 
    
         
             
                  },
         
     | 
| 
       651 
647 
     | 
    
         
             
                  -1,
         
     | 
| 
       652 
648 
     | 
    
         
             
                  0,
         
     | 
| 
       653 
649 
     | 
    
         
             
                  firstScope.l
         
     | 
| 
       654 
650 
     | 
    
         
             
                );
         
     | 
| 
       655 
651 
     | 
    
         
             
              };
         
     | 
| 
       656 
     | 
    
         
            -
              return ownerSignal._ =  
     | 
| 
      
 652 
     | 
    
         
            +
              return ownerSignal._ = fn, ownerSignal;
         
     | 
| 
       657 
653 
     | 
    
         
             
            }
         
     | 
| 
       658 
     | 
    
         
            -
            function _if_closure( 
     | 
| 
       659 
     | 
    
         
            -
              let  
     | 
| 
      
 654 
     | 
    
         
            +
            function _if_closure(ownerConditionalNodeAccessor, branch, fn) {
         
     | 
| 
      
 655 
     | 
    
         
            +
              let scopeAccessor = "d" /* ConditionalScope */ + ownerConditionalNodeAccessor, branchAccessor = "c" /* ConditionalRenderer */ + ownerConditionalNodeAccessor, ownerSignal = (scope) => {
         
     | 
| 
       660 
656 
     | 
    
         
             
                let ifScope = scope[scopeAccessor];
         
     | 
| 
       661 
     | 
    
         
            -
                ifScope && !ifScope.n && (scope[branchAccessor] || 0) === branch && queueRender(ifScope,  
     | 
| 
      
 657 
     | 
    
         
            +
                ifScope && !ifScope.n && (scope[branchAccessor] || 0) === branch && queueRender(ifScope, fn, -1);
         
     | 
| 
       662 
658 
     | 
    
         
             
              };
         
     | 
| 
       663 
     | 
    
         
            -
              return ownerSignal._ =  
     | 
| 
      
 659 
     | 
    
         
            +
              return ownerSignal._ = fn, ownerSignal;
         
     | 
| 
       664 
660 
     | 
    
         
             
            }
         
     | 
| 
       665 
661 
     | 
    
         
             
            function subscribeToScopeSet(ownerScope, accessor, scope) {
         
     | 
| 
       666 
662 
     | 
    
         
             
              let subscribers = ownerScope[accessor] ||= /* @__PURE__ */ new Set();
         
     | 
| 
         @@ -684,8 +680,8 @@ function _closure(...closureSignals) { 
     | 
|
| 
       684 
680 
     | 
    
         
             
              };
         
     | 
| 
       685 
681 
     | 
    
         
             
            }
         
     | 
| 
       686 
682 
     | 
    
         
             
            function _closure_get(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       687 
     | 
    
         
            -
              let  
     | 
| 
       688 
     | 
    
         
            -
                scope[closureSignal.E] = closureSignal.K,  
     | 
| 
      
 683 
     | 
    
         
            +
              let closureSignal = ((scope) => {
         
     | 
| 
      
 684 
     | 
    
         
            +
                scope[closureSignal.E] = closureSignal.K, fn(scope), subscribeToScopeSet(
         
     | 
| 
       689 
685 
     | 
    
         
             
                  getOwnerScope ? getOwnerScope(scope) : scope._,
         
     | 
| 
       690 
686 
     | 
    
         
             
                  closureSignal.D,
         
     | 
| 
       691 
687 
     | 
    
         
             
                  scope
         
     | 
| 
         @@ -693,14 +689,6 @@ function _closure_get(valueAccessor, fn, getOwnerScope) { 
     | 
|
| 
       693 
689 
     | 
    
         
             
              });
         
     | 
| 
       694 
690 
     | 
    
         
             
              return closureSignal.D = "a" /* ClosureScopes */ + valueAccessor, closureSignal.E = "b" /* ClosureSignalIndex */ + valueAccessor, closureSignal;
         
     | 
| 
       695 
691 
     | 
    
         
             
            }
         
     | 
| 
       696 
     | 
    
         
            -
            function closure(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       697 
     | 
    
         
            -
              return (scope) => {
         
     | 
| 
       698 
     | 
    
         
            -
                fn(
         
     | 
| 
       699 
     | 
    
         
            -
                  scope,
         
     | 
| 
       700 
     | 
    
         
            -
                  (getOwnerScope ? getOwnerScope(scope) : scope._)[valueAccessor]
         
     | 
| 
       701 
     | 
    
         
            -
                );
         
     | 
| 
       702 
     | 
    
         
            -
              };
         
     | 
| 
       703 
     | 
    
         
            -
            }
         
     | 
| 
       704 
692 
     | 
    
         
             
            function _child_setup(setup) {
         
     | 
| 
       705 
693 
     | 
    
         
             
              return setup._ = (scope, owner) => {
         
     | 
| 
       706 
694 
     | 
    
         
             
                scope._ = owner, queueRender(scope, setup, -1);
         
     | 
| 
         @@ -1388,11 +1376,8 @@ function prepareEffects(fn) { 
     | 
|
| 
       1388 
1376 
     | 
    
         
             
              return preparedEffects;
         
     | 
| 
       1389 
1377 
     | 
    
         
             
            }
         
     | 
| 
       1390 
1378 
     | 
    
         
             
            var runEffects = ((effects) => {
         
     | 
| 
       1391 
     | 
    
         
            -
              for (let i = 0 
     | 
| 
       1392 
     | 
    
         
            -
                effects[i++](
         
     | 
| 
       1393 
     | 
    
         
            -
                  scope = effects[i++],
         
     | 
| 
       1394 
     | 
    
         
            -
                  scope
         
     | 
| 
       1395 
     | 
    
         
            -
                );
         
     | 
| 
      
 1379 
     | 
    
         
            +
              for (let i = 0; i < effects.length; )
         
     | 
| 
      
 1380 
     | 
    
         
            +
                effects[i++](effects[i++]);
         
     | 
| 
       1396 
1381 
     | 
    
         
             
            });
         
     | 
| 
       1397 
1382 
     | 
    
         
             
            function runRenders() {
         
     | 
| 
       1398 
1383 
     | 
    
         
             
              for (; pendingRenders.length; ) {
         
     | 
| 
         @@ -1427,7 +1412,7 @@ var runRender = (render) => render.M(render.q, render.H), _enable_catch = () => 
     | 
|
| 
       1427 
1412 
     | 
    
         
             
                if (checkPending || caughtError.has(effects)) {
         
     | 
| 
       1428 
1413 
     | 
    
         
             
                  let i = 0, fn, scope, branch;
         
     | 
| 
       1429 
1414 
     | 
    
         
             
                  for (; i < effects.length; )
         
     | 
| 
       1430 
     | 
    
         
            -
                    fn = effects[i++], scope = effects[i++], branch = scope.k, !branch?.z && !(checkPending && handlePendingTry(fn, scope, branch)) && fn(scope 
     | 
| 
      
 1415 
     | 
    
         
            +
                    fn = effects[i++], scope = effects[i++], branch = scope.k, !branch?.z && !(checkPending && handlePendingTry(fn, scope, branch)) && fn(scope);
         
     | 
| 
       1431 
1416 
     | 
    
         
             
                } else
         
     | 
| 
       1432 
1417 
     | 
    
         
             
                  runEffects2(effects);
         
     | 
| 
       1433 
1418 
     | 
    
         
             
              })(runEffects), runRender = /* @__PURE__ */ ((runRender2) => (render) => {
         
     | 
    
        package/dist/dom.mjs
    CHANGED
    
    | 
         @@ -38,6 +38,9 @@ function forUntil(until, from, step, cb) { 
     | 
|
| 
       38 
38 
     | 
    
         
             
            }
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
            // src/common/helpers.ts
         
     | 
| 
      
 41 
     | 
    
         
            +
            function _call(fn, v) {
         
     | 
| 
      
 42 
     | 
    
         
            +
              return fn(v), v;
         
     | 
| 
      
 43 
     | 
    
         
            +
            }
         
     | 
| 
       41 
44 
     | 
    
         
             
            function classValue(classValue2) {
         
     | 
| 
       42 
45 
     | 
    
         
             
              return toDelimitedString(classValue2, " ", stringifyClassObject);
         
     | 
| 
       43 
46 
     | 
    
         
             
            }
         
     | 
| 
         @@ -268,8 +271,7 @@ function init(runtimeId = "M") { 
     | 
|
| 
       268 
271 
     | 
    
         
             
                            registeredValues[lastEffect](
         
     | 
| 
       269 
272 
     | 
    
         
             
                              scopeLookup[serialized] ||= {
         
     | 
| 
       270 
273 
     | 
    
         
             
                                l: scopeId
         
     | 
| 
       271 
     | 
    
         
            -
                              } 
     | 
| 
       272 
     | 
    
         
            -
                              scopeLookup[serialized]
         
     | 
| 
      
 274 
     | 
    
         
            +
                              }
         
     | 
| 
       273 
275 
     | 
    
         
             
                            );
         
     | 
| 
       274 
276 
     | 
    
         
             
                          else
         
     | 
| 
       275 
277 
     | 
    
         
             
                            for (let scope of serialized(serializeContext))
         
     | 
| 
         @@ -519,20 +521,13 @@ function triggerMacroTask() { 
     | 
|
| 
       519 
521 
     | 
    
         
             
            function _let(valueAccessor, fn) {
         
     | 
| 
       520 
522 
     | 
    
         
             
              if (0)
         
     | 
| 
       521 
523 
     | 
    
         
             
                var id;
         
     | 
| 
       522 
     | 
    
         
            -
              let valueChangeAccessor = "o" /* TagVariableChange */ + valueAccessor 
     | 
| 
       523 
     | 
    
         
            -
             
     | 
| 
       524 
     | 
    
         
            -
              };
         
     | 
| 
       525 
     | 
    
         
            -
              return (scope, value, valueChange) => (rendering ? ((scope[valueChangeAccessor] = valueChange) && scope[valueAccessor] !== value || scope.n) && (scope[valueAccessor] = value, fn && fn(scope, value)) : scope[valueChangeAccessor] ? scope[valueChangeAccessor](value) : (schedule(), queueRender(
         
     | 
| 
       526 
     | 
    
         
            -
                scope,
         
     | 
| 
       527 
     | 
    
         
            -
                update,
         
     | 
| 
       528 
     | 
    
         
            -
                valueAccessor,
         
     | 
| 
       529 
     | 
    
         
            -
                value
         
     | 
| 
       530 
     | 
    
         
            -
              )), value);
         
     | 
| 
      
 524 
     | 
    
         
            +
              let valueChangeAccessor = "o" /* TagVariableChange */ + valueAccessor;
         
     | 
| 
      
 525 
     | 
    
         
            +
              return (scope, value, valueChange) => (rendering ? ((scope[valueChangeAccessor] = valueChange) && scope[valueAccessor] !== value || scope.n) && (scope[valueAccessor] = value, fn && fn(scope)) : scope[valueChangeAccessor] ? scope[valueChangeAccessor](value) : scope[valueAccessor] !== (scope[valueAccessor] = value) && fn && (schedule(), queueRender(scope, fn, valueAccessor)), value);
         
     | 
| 
       531 
526 
     | 
    
         
             
            }
         
     | 
| 
       532 
527 
     | 
    
         
             
            function _const(valueAccessor, fn = () => {
         
     | 
| 
       533 
528 
     | 
    
         
             
            }) {
         
     | 
| 
       534 
529 
     | 
    
         
             
              return (scope, value) => {
         
     | 
| 
       535 
     | 
    
         
            -
                (!(valueAccessor in scope) || scope[valueAccessor] !== value) && (scope[valueAccessor] = value, fn(scope 
     | 
| 
      
 530 
     | 
    
         
            +
                (!(valueAccessor in scope) || scope[valueAccessor] !== value) && (scope[valueAccessor] = value, fn(scope));
         
     | 
| 
       536 
531 
     | 
    
         
             
              };
         
     | 
| 
       537 
532 
     | 
    
         
             
            }
         
     | 
| 
       538 
533 
     | 
    
         
             
            function _or(id, fn, defaultPending = 1, scopeIdAccessor = /* @__KEY__ */ "l") {
         
     | 
| 
         @@ -540,28 +535,28 @@ function _or(id, fn, defaultPending = 1, scopeIdAccessor = /* @__KEY__ */ "l") { 
     | 
|
| 
       540 
535 
     | 
    
         
             
                scope.n ? scope[id] === void 0 ? scope[id] = defaultPending : --scope[id] || fn(scope) : queueRender(scope, fn, id, 0, scope[scopeIdAccessor]);
         
     | 
| 
       541 
536 
     | 
    
         
             
              };
         
     | 
| 
       542 
537 
     | 
    
         
             
            }
         
     | 
| 
       543 
     | 
    
         
            -
            function _for_closure( 
     | 
| 
       544 
     | 
    
         
            -
              let  
     | 
| 
      
 538 
     | 
    
         
            +
            function _for_closure(ownerLoopNodeAccessor, fn) {
         
     | 
| 
      
 539 
     | 
    
         
            +
              let loopScopeAccessor = "l" /* LoopScopeArray */ + ownerLoopNodeAccessor, loopScopeMapAccessor = "m" /* LoopScopeMap */ + ownerLoopNodeAccessor, ownerSignal = (ownerScope) => {
         
     | 
| 
       545 
540 
     | 
    
         
             
                let scopes = ownerScope[loopScopeAccessor] ||= ownerScope[loopScopeMapAccessor] ? [...ownerScope[loopScopeMapAccessor].values()] : [], [firstScope] = scopes;
         
     | 
| 
       546 
541 
     | 
    
         
             
                firstScope && queueRender(
         
     | 
| 
       547 
542 
     | 
    
         
             
                  ownerScope,
         
     | 
| 
       548 
543 
     | 
    
         
             
                  () => {
         
     | 
| 
       549 
544 
     | 
    
         
             
                    for (let scope of scopes)
         
     | 
| 
       550 
     | 
    
         
            -
                      !scope.n && !scope.z &&  
     | 
| 
      
 545 
     | 
    
         
            +
                      !scope.n && !scope.z && fn(scope);
         
     | 
| 
       551 
546 
     | 
    
         
             
                  },
         
     | 
| 
       552 
547 
     | 
    
         
             
                  -1,
         
     | 
| 
       553 
548 
     | 
    
         
             
                  0,
         
     | 
| 
       554 
549 
     | 
    
         
             
                  firstScope.l
         
     | 
| 
       555 
550 
     | 
    
         
             
                );
         
     | 
| 
       556 
551 
     | 
    
         
             
              };
         
     | 
| 
       557 
     | 
    
         
            -
              return ownerSignal._ =  
     | 
| 
      
 552 
     | 
    
         
            +
              return ownerSignal._ = fn, ownerSignal;
         
     | 
| 
       558 
553 
     | 
    
         
             
            }
         
     | 
| 
       559 
     | 
    
         
            -
            function _if_closure( 
     | 
| 
       560 
     | 
    
         
            -
              let  
     | 
| 
      
 554 
     | 
    
         
            +
            function _if_closure(ownerConditionalNodeAccessor, branch, fn) {
         
     | 
| 
      
 555 
     | 
    
         
            +
              let scopeAccessor = "d" /* ConditionalScope */ + ownerConditionalNodeAccessor, branchAccessor = "c" /* ConditionalRenderer */ + ownerConditionalNodeAccessor, ownerSignal = (scope) => {
         
     | 
| 
       561 
556 
     | 
    
         
             
                let ifScope = scope[scopeAccessor];
         
     | 
| 
       562 
     | 
    
         
            -
                ifScope && !ifScope.n && (scope[branchAccessor] || 0) === branch && queueRender(ifScope,  
     | 
| 
      
 557 
     | 
    
         
            +
                ifScope && !ifScope.n && (scope[branchAccessor] || 0) === branch && queueRender(ifScope, fn, -1);
         
     | 
| 
       563 
558 
     | 
    
         
             
              };
         
     | 
| 
       564 
     | 
    
         
            -
              return ownerSignal._ =  
     | 
| 
      
 559 
     | 
    
         
            +
              return ownerSignal._ = fn, ownerSignal;
         
     | 
| 
       565 
560 
     | 
    
         
             
            }
         
     | 
| 
       566 
561 
     | 
    
         
             
            function subscribeToScopeSet(ownerScope, accessor, scope) {
         
     | 
| 
       567 
562 
     | 
    
         
             
              let subscribers = ownerScope[accessor] ||= /* @__PURE__ */ new Set();
         
     | 
| 
         @@ -585,8 +580,8 @@ function _closure(...closureSignals) { 
     | 
|
| 
       585 
580 
     | 
    
         
             
              };
         
     | 
| 
       586 
581 
     | 
    
         
             
            }
         
     | 
| 
       587 
582 
     | 
    
         
             
            function _closure_get(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       588 
     | 
    
         
            -
              let  
     | 
| 
       589 
     | 
    
         
            -
                scope[closureSignal.E] = closureSignal.K,  
     | 
| 
      
 583 
     | 
    
         
            +
              let closureSignal = ((scope) => {
         
     | 
| 
      
 584 
     | 
    
         
            +
                scope[closureSignal.E] = closureSignal.K, fn(scope), subscribeToScopeSet(
         
     | 
| 
       590 
585 
     | 
    
         
             
                  getOwnerScope ? getOwnerScope(scope) : scope._,
         
     | 
| 
       591 
586 
     | 
    
         
             
                  closureSignal.D,
         
     | 
| 
       592 
587 
     | 
    
         
             
                  scope
         
     | 
| 
         @@ -594,14 +589,6 @@ function _closure_get(valueAccessor, fn, getOwnerScope) { 
     | 
|
| 
       594 
589 
     | 
    
         
             
              });
         
     | 
| 
       595 
590 
     | 
    
         
             
              return closureSignal.D = "a" /* ClosureScopes */ + valueAccessor, closureSignal.E = "b" /* ClosureSignalIndex */ + valueAccessor, closureSignal;
         
     | 
| 
       596 
591 
     | 
    
         
             
            }
         
     | 
| 
       597 
     | 
    
         
            -
            function closure(valueAccessor, fn, getOwnerScope) {
         
     | 
| 
       598 
     | 
    
         
            -
              return (scope) => {
         
     | 
| 
       599 
     | 
    
         
            -
                fn(
         
     | 
| 
       600 
     | 
    
         
            -
                  scope,
         
     | 
| 
       601 
     | 
    
         
            -
                  (getOwnerScope ? getOwnerScope(scope) : scope._)[valueAccessor]
         
     | 
| 
       602 
     | 
    
         
            -
                );
         
     | 
| 
       603 
     | 
    
         
            -
              };
         
     | 
| 
       604 
     | 
    
         
            -
            }
         
     | 
| 
       605 
592 
     | 
    
         
             
            function _child_setup(setup) {
         
     | 
| 
       606 
593 
     | 
    
         
             
              return setup._ = (scope, owner) => {
         
     | 
| 
       607 
594 
     | 
    
         
             
                scope._ = owner, queueRender(scope, setup, -1);
         
     | 
| 
         @@ -1289,11 +1276,8 @@ function prepareEffects(fn) { 
     | 
|
| 
       1289 
1276 
     | 
    
         
             
              return preparedEffects;
         
     | 
| 
       1290 
1277 
     | 
    
         
             
            }
         
     | 
| 
       1291 
1278 
     | 
    
         
             
            var runEffects = ((effects) => {
         
     | 
| 
       1292 
     | 
    
         
            -
              for (let i = 0 
     | 
| 
       1293 
     | 
    
         
            -
                effects[i++](
         
     | 
| 
       1294 
     | 
    
         
            -
                  scope = effects[i++],
         
     | 
| 
       1295 
     | 
    
         
            -
                  scope
         
     | 
| 
       1296 
     | 
    
         
            -
                );
         
     | 
| 
      
 1279 
     | 
    
         
            +
              for (let i = 0; i < effects.length; )
         
     | 
| 
      
 1280 
     | 
    
         
            +
                effects[i++](effects[i++]);
         
     | 
| 
       1297 
1281 
     | 
    
         
             
            });
         
     | 
| 
       1298 
1282 
     | 
    
         
             
            function runRenders() {
         
     | 
| 
       1299 
1283 
     | 
    
         
             
              for (; pendingRenders.length; ) {
         
     | 
| 
         @@ -1328,7 +1312,7 @@ var runRender = (render) => render.M(render.q, render.H), _enable_catch = () => 
     | 
|
| 
       1328 
1312 
     | 
    
         
             
                if (checkPending || caughtError.has(effects)) {
         
     | 
| 
       1329 
1313 
     | 
    
         
             
                  let i = 0, fn, scope, branch;
         
     | 
| 
       1330 
1314 
     | 
    
         
             
                  for (; i < effects.length; )
         
     | 
| 
       1331 
     | 
    
         
            -
                    fn = effects[i++], scope = effects[i++], branch = scope.k, !branch?.z && !(checkPending && handlePendingTry(fn, scope, branch)) && fn(scope 
     | 
| 
      
 1315 
     | 
    
         
            +
                    fn = effects[i++], scope = effects[i++], branch = scope.k, !branch?.z && !(checkPending && handlePendingTry(fn, scope, branch)) && fn(scope);
         
     | 
| 
       1332 
1316 
     | 
    
         
             
                } else
         
     | 
| 
       1333 
1317 
     | 
    
         
             
                  runEffects2(effects);
         
     | 
| 
       1334 
1318 
     | 
    
         
             
              })(runEffects), runRender = /* @__PURE__ */ ((runRender2) => (render) => {
         
     | 
| 
         @@ -1511,6 +1495,7 @@ export { 
     | 
|
| 
       1511 
1495 
     | 
    
         
             
              _attrs_partial_content,
         
     | 
| 
       1512 
1496 
     | 
    
         
             
              _attrs_script,
         
     | 
| 
       1513 
1497 
     | 
    
         
             
              _await,
         
     | 
| 
      
 1498 
     | 
    
         
            +
              _call,
         
     | 
| 
       1514 
1499 
     | 
    
         
             
              _child_setup,
         
     | 
| 
       1515 
1500 
     | 
    
         
             
              _closure,
         
     | 
| 
       1516 
1501 
     | 
    
         
             
              _closure_get,
         
     |