marko 6.4.2 → 6.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/common/constants/accessor-prop.d.ts +1 -0
  2. package/dist/common/constants/accessor-prop.debug.d.ts +1 -0
  3. package/dist/common/types.d.ts +1 -0
  4. package/dist/debug/dom/catch.feat.js +1 -1
  5. package/dist/debug/dom/catch.feat.mjs +1 -1
  6. package/dist/debug/dom/controllable-input.feat.js +1 -1
  7. package/dist/debug/dom/controllable-input.feat.mjs +1 -1
  8. package/dist/debug/dom/controllable-open.feat.js +1 -1
  9. package/dist/debug/dom/controllable-open.feat.mjs +1 -1
  10. package/dist/debug/dom/controllable-select.feat.js +1 -1
  11. package/dist/debug/dom/controllable-select.feat.mjs +1 -1
  12. package/dist/debug/dom/controllable-textarea.feat.js +1 -1
  13. package/dist/debug/dom/controllable-textarea.feat.mjs +1 -1
  14. package/dist/debug/dom/controllable.feat.js +1 -1
  15. package/dist/debug/dom/controllable.feat.mjs +1 -1
  16. package/dist/debug/dom/dynamic-tag-script.feat.js +1 -1
  17. package/dist/debug/dom/dynamic-tag-script.feat.mjs +1 -1
  18. package/dist/debug/dom/dynamic-tag-var.feat.js +6 -2
  19. package/dist/debug/dom/dynamic-tag-var.feat.mjs +6 -2
  20. package/dist/debug/dom/lazy.feat.js +1 -1
  21. package/dist/debug/dom/lazy.feat.mjs +1 -1
  22. package/dist/debug/dom/placeholder.feat.js +1 -1
  23. package/dist/debug/dom/placeholder.feat.mjs +1 -1
  24. package/dist/debug/{dom-BLbR0hEx.js → dom-C7F3yZTh.js} +89 -24
  25. package/dist/debug/{dom-Cii0IA92.mjs → dom-uEY0J_H9.mjs} +60 -25
  26. package/dist/debug/dom.js +10 -1
  27. package/dist/debug/dom.mjs +10 -2
  28. package/dist/debug/html.js +13 -7
  29. package/dist/debug/html.mjs +13 -7
  30. package/dist/dom/catch.feat.js +4 -4
  31. package/dist/dom/catch.feat.mjs +1 -1
  32. package/dist/dom/control-flow.d.ts +2 -2
  33. package/dist/dom/controllable-input.feat.js +2 -2
  34. package/dist/dom/controllable-input.feat.mjs +1 -1
  35. package/dist/dom/controllable-open.feat.js +2 -2
  36. package/dist/dom/controllable-open.feat.mjs +1 -1
  37. package/dist/dom/controllable-select.feat.js +2 -2
  38. package/dist/dom/controllable-select.feat.mjs +1 -1
  39. package/dist/dom/controllable-textarea.feat.js +2 -2
  40. package/dist/dom/controllable-textarea.feat.mjs +1 -1
  41. package/dist/dom/controllable.feat.js +2 -2
  42. package/dist/dom/controllable.feat.mjs +1 -1
  43. package/dist/dom/dynamic-tag-script.feat.js +2 -2
  44. package/dist/dom/dynamic-tag-script.feat.mjs +1 -1
  45. package/dist/dom/dynamic-tag-var.feat.js +4 -2
  46. package/dist/dom/dynamic-tag-var.feat.mjs +4 -3
  47. package/dist/dom/lazy.feat.js +1 -1
  48. package/dist/dom/lazy.feat.mjs +1 -1
  49. package/dist/dom/load.d.ts +1 -0
  50. package/dist/dom/placeholder.feat.js +3 -3
  51. package/dist/dom/placeholder.feat.mjs +1 -1
  52. package/dist/dom/queue.d.ts +4 -1
  53. package/dist/{dom-B8UEYzOz.js → dom-CtIT8Mpr.js} +184 -140
  54. package/dist/{dom-BPjLe6YU.mjs → dom-DHg9YChM.mjs} +51 -27
  55. package/dist/dom.d.ts +1 -1
  56. package/dist/dom.js +39 -33
  57. package/dist/dom.mjs +8 -2
  58. package/dist/html/writer.d.ts +1 -1
  59. package/dist/html.js +18 -8
  60. package/dist/html.mjs +18 -8
  61. package/dist/translator/index.js +28 -23
  62. package/package.json +2 -2
  63. package/tags-html.d.ts +6 -5
package/dist/html.mjs CHANGED
@@ -267,7 +267,7 @@ let empty = [], rest = Symbol(), unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeSty
267
267
  } else {
268
268
  let chunk = getChunk(), beforeBranch = shouldResume ? deferBranchStart(chunk) : void 0, render = () => {
269
269
  if (renderer) try {
270
- return _set_scope_reason(shouldResume && inputOrArgs !== void 0 ? CLIENT_ALL : 0), inputIsArgs ? renderer(...inputOrArgs) : renderer(content ? {
270
+ return _set_scope_reason(shouldResume ? CLIENT_ALL : 0), inputIsArgs ? renderer(...inputOrArgs) : renderer(content ? {
271
271
  ...inputOrArgs,
272
272
  content
273
273
  } : inputOrArgs);
@@ -276,7 +276,7 @@ let empty = [], rest = Symbol(), unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeSty
276
276
  }
277
277
  else if (content) return content();
278
278
  };
279
- result = shouldResume ? withBranchId(branchId, render) : render(), rendered = _peek_scope_id() !== branchId, beforeBranch !== void 0 && (applyBranchStart(chunk, beforeBranch, rendered), _html(state.mark("]", scopeId + " " + accessor + (rendered ? " " + branchId : ""))));
279
+ result = shouldResume ? withBranchId(branchId, render) : render(), rendered = _peek_scope_id() !== branchId, beforeBranch !== void 0 && (applyBranchStart(chunk, beforeBranch, rendered), _html(state.mark("]", scopeId + " " + accessor + (rendered ? " " + branchId : ""))), renderer && _existing_scope(branchId));
280
280
  }
281
281
  return rendered ? shouldResume && writeScope(scopeId, { ["D" + accessor]: rendererKey(renderer) }) : _scope_id(), result;
282
282
  }, patchDynamicTag = /* @__PURE__ */ ((originalDynamicTag) => (patch) => {
@@ -1586,7 +1586,12 @@ function _resume_branch(scopeId) {
1586
1586
  }
1587
1587
  function _attr_content(nodeAccessor, scopeId, content, markerGuard) {
1588
1588
  let shouldResume = markerGuard !== 0, render = normalizeServerRender(content), branchId = _peek_scope_id();
1589
- render && (shouldResume ? withBranchId(branchId, render) : render()), _peek_scope_id() === branchId ? _scope_id() : shouldResume && writeScope(scopeId, {
1589
+ if (render) try {
1590
+ _set_scope_reason(shouldResume ? CLIENT_ALL : 0), shouldResume ? withBranchId(branchId, render) : render();
1591
+ } finally {
1592
+ _set_scope_reason(void 0);
1593
+ }
1594
+ _peek_scope_id() === branchId ? _scope_id() : shouldResume && writeScope(scopeId, {
1590
1595
  ["A" + nodeAccessor]: writeScope(branchId, {}),
1591
1596
  ["D" + nodeAccessor]: rendererKey(render)
1592
1597
  });
@@ -1794,7 +1799,7 @@ function tryBoundary(content, catchContent, branchId, renderers) {
1794
1799
  chunk.catchRange = null, renderersAtSettle || catchChunk.render(clearTryRenderers, branchId);
1795
1800
  let inOrder = catchChunk === catchChunk.render(catchContent, catchBoundary.reason);
1796
1801
  if (boundary.aborted) return;
1797
- if ((bodyEnd.consumed || !inOrder) && (catchChunk.reorderStart = state.mark("*", branchId + "")), bodyEnd.consumed) catchChunk.reorderId = reorderId, state.reorder(catchChunk);
1802
+ if ((bodyEnd.consumed || !inOrder) && (catchChunk.reorderBranch = branchId), bodyEnd.consumed) catchChunk.reorderId = reorderId, state.reorder(catchChunk);
1798
1803
  else {
1799
1804
  let reorder = null;
1800
1805
  inOrder ? streamed && (reorder = chunk.fork(boundary, null)) : reorder = catchChunk, reorder && (reorder.reorderId = reorderId);
@@ -1940,7 +1945,7 @@ var State = class {
1940
1945
  async = !1;
1941
1946
  consumed = !1;
1942
1947
  reorderId = null;
1943
- reorderStart = "";
1948
+ reorderBranch = 0;
1944
1949
  deferredReady = null;
1945
1950
  heldEffects = null;
1946
1951
  deferredReorder = null;
@@ -2081,15 +2086,20 @@ var State = class {
2081
2086
  if (state.writeReorders) {
2082
2087
  for (let reorderedChunk of state.writeReorders) {
2083
2088
  needsWalk = !0, state.hasReorderRuntime || (state.hasReorderRuntime = !0, scripts = concatScripts(scripts, "(e=>{if(e.j)return;let i,l,r,t=e.p={},c=(i,l)=>e.l[i].replaceWith(...l.childNodes);e.j={},e.x=(n,a,d,o,g)=>{d==r&&i(),\"#\"==n?(t[a]=l).i++:\"T\"==d.tagName&&(a=d.getAttribute(e.i))&&(r=d.nextSibling,i=()=>{d.remove(),o||c(a,d),l.c()},l=t[a]||(o=t[a]={i:1,r:a,c(i=e.l[\"^\"+a],f=d.cloneNode()){if(--o.i)return 1;for(;f.prepend(r=e.l[a].previousSibling||i),i!=r;);c(a,d)}}),e.v.push({data:e.i+\"*\"+l.r}),(n=e.j[a])&&(g=l.c,l.c=()=>g()||n(e.r)))}})(" + runtimePrefix + ")"));
2084
- let { reorderId, reorderStart } = reorderedChunk, readyReservations = [], reorderHTML = "", reorderEffects = "", effectsBoundary = reorderedChunk.boundary, reorderScripts = "", cur = reorderedChunk.boundary.aborted ? null : reorderedChunk;
2089
+ let { reorderId, reorderBranch } = reorderedChunk, rootBranch = reorderBranch || +reorderId, readyReservations = [], reorderHTML = "", reorderEffects = "", effectsBoundary = reorderedChunk.boundary, reorderScripts = "", cur = reorderedChunk.boundary.aborted ? null : reorderedChunk;
2085
2090
  for (reorderedChunk.reorderId = null; cur;) {
2086
2091
  cur.markCatchRange(), cur.queueDeferredReorder(), cur.deferOwnReady();
2087
2092
  let { next } = cur, readyResumeScripts = cur.flushReadyScripts(boundary, readyReservations, this.async);
2088
- this.deferredReady = concat(this.deferredReady, cur.takeDeferredReady()), cur.consumed = !0, reorderHTML += cur.html, this.async && cur.effects && cur.boundary !== effectsBoundary && (reorderEffects &&= (holdReorderEffects(this, effectsBoundary, reorderEffects), ""), effectsBoundary = cur.boundary), reorderEffects = concatEffects(reorderEffects, cur.effects), reorderScripts = concatScripts(reorderScripts, concatScripts(readyResumeScripts, cur.scripts)), cur.async && (reorderHTML += state.mark("#", cur.reorderId = state.nextReorderId()), cur.reorderStart = reorderStart, (cur.boundary.pendingReorders ||= /* @__PURE__ */ new Set()).add(cur), cur.html = cur.effects = cur.scripts = cur.lastEffect = "", cur.next = null), cur = next;
2093
+ if (this.deferredReady = concat(this.deferredReady, cur.takeDeferredReady()), cur.consumed = !0, reorderHTML += cur.html, this.async && cur.effects && cur.boundary !== effectsBoundary && (reorderEffects &&= (holdReorderEffects(this, effectsBoundary, reorderEffects), ""), effectsBoundary = cur.boundary), reorderEffects = concatEffects(reorderEffects, cur.effects), reorderScripts = concatScripts(reorderScripts, concatScripts(readyResumeScripts, cur.scripts)), cur.async) {
2094
+ reorderHTML += state.mark("#", cur.reorderId = state.nextReorderId());
2095
+ let holeBranch = cur.context?.[kBranchId];
2096
+ cur.reorderBranch = holeBranch > rootBranch ? holeBranch : reorderBranch, (cur.boundary.pendingReorders ||= /* @__PURE__ */ new Set()).add(cur), cur.html = cur.effects = cur.scripts = cur.lastEffect = "", cur.next = null;
2097
+ }
2098
+ cur = next;
2089
2099
  }
2090
2100
  reorderEffects && (this.async ? holdReorderEffects(this, effectsBoundary, reorderEffects) : (needsResumeArray = !0, reorderScripts = concatScripts(reorderScripts, "_.push(\"" + reorderEffects + "\")")));
2091
2101
  for (let reservation of readyReservations) reordered = concatScripts(reordered, reservation);
2092
- reordered = concatScripts(reordered, reorderScripts && runtimePrefix + ".j" + toAccess(reorderId) + "=_=>{" + reorderScripts + "}"), html += "<t hidden " + state.commentPrefix + "=" + reorderId + ">" + reorderStart + reorderHTML + "</t>";
2102
+ reordered = concatScripts(reordered, reorderScripts && runtimePrefix + ".j" + toAccess(reorderId) + "=_=>{" + reorderScripts + "}"), html += "<t hidden " + state.commentPrefix + "=" + reorderId + ">" + (reorderBranch ? state.mark("*", reorderBranch + "") : "") + reorderHTML + "</t>";
2093
2103
  }
2094
2104
  state.writeReorders = null;
2095
2105
  }
@@ -156,6 +156,7 @@ var accessor_prop_debug_exports = /* @__PURE__ */ __exportAll({
156
156
  AbortScopes: () => AbortScopes$1,
157
157
  AwaitCounter: () => AwaitCounter$1,
158
158
  BranchAccessor: () => BranchAccessor$1,
159
+ BranchRenders: () => BranchRenders$1,
159
160
  BranchScopes: () => BranchScopes$2,
160
161
  CatchContent: () => CatchContent$1,
161
162
  ClosestBranch: () => ClosestBranch$1,
@@ -189,6 +190,7 @@ const AbortControllers$1 = "#AbortControllers";
189
190
  const AbortScopes$1 = "#AbortScopes";
190
191
  const AwaitCounter$1 = "#AwaitCounter";
191
192
  const BranchAccessor$1 = "#BranchAccessor";
193
+ const BranchRenders$1 = "#BranchRenders";
192
194
  const BranchScopes$2 = "#BranchScopes";
193
195
  const CatchContent$1 = "#CatchContent";
194
196
  const ClosestBranch$1 = "#ClosestBranch";
@@ -1678,6 +1680,7 @@ const pureDOMFunctions = /* @__PURE__ */ new Set([
1678
1680
  "_const",
1679
1681
  "_load_signal",
1680
1682
  "_load_setup",
1683
+ "_load_setup_var",
1681
1684
  "_load_template",
1682
1685
  "_load_visible_trigger",
1683
1686
  "_load_event_trigger",
@@ -1965,6 +1968,7 @@ var accessor_prop_exports = /* @__PURE__ */ __exportAll({
1965
1968
  AbortScopes: () => "B",
1966
1969
  AwaitCounter: () => "O",
1967
1970
  BranchAccessor: () => "C",
1971
+ BranchRenders: () => "BR",
1968
1972
  BranchScopes: () => "D",
1969
1973
  CatchContent: () => "E",
1970
1974
  ClosestBranch: () => "F",
@@ -4862,6 +4866,7 @@ function translateDOM$1(tag) {
4862
4866
  const isLoad = !!loadConfig;
4863
4867
  const tagName = getStaticTagName(node);
4864
4868
  if (isLoad) {
4869
+ if (node.var) importRuntimeFeature("dynamic-tag-var");
4865
4870
  const childFileName = childFile.opts.filename;
4866
4871
  const { triggers, signals, setups } = getLoadIdentifiers();
4867
4872
  let triggerIdent = triggers.get(loadConfig);
@@ -4884,14 +4889,14 @@ function translateDOM$1(tag) {
4884
4889
  }
4885
4890
  return signalIdent;
4886
4891
  }, (section, childBinding) => {
4887
- const setupKey = `${triggerIdent ? triggerIdent.name : ""}\0${childFileName}`;
4892
+ const setupKey = `${triggerIdent ? triggerIdent.name : ""}\0${childFileName}${node.var ? "\0var" : ""}`;
4888
4893
  let setupIdent = setups.get(setupKey);
4889
4894
  if (!setupIdent) {
4890
4895
  setupIdent = generateUidIdentifier(`load_${tagName}_setup`);
4891
4896
  setups.set(setupKey, setupIdent);
4892
4897
  const setupLoadExpr = _marko_compiler.types.arrowFunctionExpression([], dynamicImport(buildLoadSetupVirtualModule(file, childFileName, childExports)));
4893
4898
  importRuntimeFeature("catch");
4894
- (0, _marko_compiler_babel_utils.getProgram)().node.body.push(_marko_compiler.types.variableDeclaration("let", [_marko_compiler.types.variableDeclarator(setupIdent, callRuntime("_load_setup", triggerIdent ? _marko_compiler.types.addComment(_marko_compiler.types.callExpression(triggerIdent, [setupLoadExpr]), "leading", "@__PURE__") : setupLoadExpr))]));
4899
+ (0, _marko_compiler_babel_utils.getProgram)().node.body.push(_marko_compiler.types.variableDeclaration("let", [_marko_compiler.types.variableDeclarator(setupIdent, callRuntime(node.var ? "_load_setup_var" : "_load_setup", triggerIdent ? _marko_compiler.types.addComment(_marko_compiler.types.callExpression(triggerIdent, [setupLoadExpr]), "leading", "@__PURE__") : setupLoadExpr))]));
4895
4900
  }
4896
4901
  addStatement("render", section, void 0, _marko_compiler.types.expressionStatement(_marko_compiler.types.callExpression(setupIdent, [
4897
4902
  scopeIdentifier,
@@ -6689,16 +6694,20 @@ function getWalkedBinding(op) {
6689
6694
  return typeof op === "object" && (op.kind === "node" || op.kind === "child") ? op.binding : void 0;
6690
6695
  }
6691
6696
  function getLastOwnSourceReturn(intersection, section) {
6692
- let returnedBy;
6693
- for (const binding of intersection) if (binding.section === section && binding.sources) {
6694
- returnedBy = reduce(binding.sources.state, lastReturnedBy, returnedBy);
6695
- returnedBy = reduce(binding.sources.param, lastReturnedBy, returnedBy);
6696
- }
6697
- return returnedBy;
6698
- }
6699
- function lastReturnedBy(last, source) {
6700
- const { returnedBy } = source;
6701
- return returnedBy && (!last || last.id < returnedBy.id) ? returnedBy : last;
6697
+ let last;
6698
+ const seen = /* @__PURE__ */ new Set();
6699
+ const track = (binding) => {
6700
+ if (binding.section === section && !seen.has(binding)) {
6701
+ seen.add(binding);
6702
+ const { returnedBy } = getAliasRoot(binding) || binding;
6703
+ if (returnedBy && (!last || last.id < returnedBy.id)) last = returnedBy;
6704
+ if (binding.derivedFrom) forEach(getValueReferences(binding.derivedFrom), track);
6705
+ forEach(binding.sources?.state, track);
6706
+ forEach(binding.sources?.param, track);
6707
+ }
6708
+ };
6709
+ forEach(intersection, track);
6710
+ return last;
6702
6711
  }
6703
6712
  function getIntersectionSource(intersection, section, resolved) {
6704
6713
  if (!resolved.has(intersection)) {
@@ -6742,11 +6751,6 @@ function resolveBindingSources(binding) {
6742
6751
  binding.sources = globalSources;
6743
6752
  return;
6744
6753
  }
6745
- if (binding.localOf) {
6746
- resolveBindingSources(binding.localOf);
6747
- binding.sources = binding.localOf.sources;
6748
- return;
6749
- }
6750
6754
  const aliasRoot = getAliasRoot(binding);
6751
6755
  if (aliasRoot) {
6752
6756
  if (!resolvedSources.has(aliasRoot)) {
@@ -7520,7 +7524,7 @@ function getOrCreateLocalClosure(local, section) {
7520
7524
  while (section.parent !== local.section) section = section.parent;
7521
7525
  let closure = local.localClosures?.get(section);
7522
7526
  if (!closure) {
7523
- closure = createBinding(local.name, 4, section, void 0, void 0, void 0, local.loc);
7527
+ closure = createBinding(local.name, 2, section, void 0, void 0, void 0, local.loc);
7524
7528
  closure.localOf = local;
7525
7529
  (local.localClosures ??= /* @__PURE__ */ new Map()).set(section, closure);
7526
7530
  }
@@ -11038,6 +11042,7 @@ var dynamic_tag_default = {
11038
11042
  if (tag.node.extra?.tagNameUnresolved) throw tagNotFoundError(tag);
11039
11043
  (0, _marko_compiler_babel_utils.assertAttributesOrArgs)(tag);
11040
11044
  const { node } = tag;
11045
+ if (node.var && node.extra.featureType === "class") throw tag.get("var").buildCodeFrameError(`The Marko 5 (class API) tag \`${getStaticTagName(node)}\` cannot [\`<return>\`](https://markojs.com/docs/reference/core-tag#return) a value, so it does not support a [tag variable](https://markojs.com/docs/reference/language#tag-variables). Remove the variable, or migrate the tag to the tags API.`);
11041
11046
  const definedBodySection = node.extra?.defineBodySection;
11042
11047
  if (definedBodySection) {
11043
11048
  knownTagAnalyze(tag, definedBodySection);
@@ -11174,10 +11179,10 @@ var dynamic_tag_default = {
11174
11179
  const bodySection = getSectionForBody(tag.get("body"));
11175
11180
  const signal = getSignal(section, nodeBinding, "dynamicTag");
11176
11181
  let tagVarSignal;
11177
- if (tag.node.var) {
11182
+ if (tag.node.var && isTagVarResumed(tag)) {
11178
11183
  const varBinding = tag.node.var.extra.binding;
11179
11184
  tagVarSignal = initValue(varBinding);
11180
- tagVarSignal.register = isTagVarResumed(tag);
11185
+ tagVarSignal.register = true;
11181
11186
  tagVarSignal.referenced = true;
11182
11187
  tagVarSignal.buildAssignment = (valueSection, value) => {
11183
11188
  const changeArgs = [_marko_compiler.types.memberExpression(getScopeExpression(tagVarSignal.section, valueSection), _marko_compiler.types.stringLiteral(getAccessorPrefix().BranchScopes + getScopeAccessor(nodeBinding)), true), value];
@@ -11195,9 +11200,9 @@ var dynamic_tag_default = {
11195
11200
  const argsOrInput = hasTagArgs ? _marko_compiler.types.arrayExpression(args) : args[0];
11196
11201
  if (!_marko_compiler.types.isObjectExpression(argsOrInput) || argsOrInput.properties.length) signal.extraArgs = [_marko_compiler.types.arrowFunctionExpression([], statements.length ? _marko_compiler.types.blockStatement(statements.concat(_marko_compiler.types.returnStatement(argsOrInput))) : argsOrInput)];
11197
11202
  }
11203
+ enableDynamicTagVar(tag);
11198
11204
  if (!isClassAPI) {
11199
11205
  enableDynamicTagResume(tag);
11200
- enableDynamicTagVar(tag);
11201
11206
  enableDynamicTagControllables(tag);
11202
11207
  }
11203
11208
  addValue(section, getReferencedBindings(tagExtra), signal, tagExpression);
@@ -11216,9 +11221,9 @@ function enableDynamicTagControllables(tag) {
11216
11221
  }
11217
11222
  }
11218
11223
  function enableDynamicTagVar(tag) {
11219
- if (!tag.node.var || !isTagVarResumed(tag) || analyzeTagNameType(tag, true) === 1) return;
11224
+ if (!tag.node.var || !isTagVarResumed(tag)) return;
11220
11225
  importRuntimeFeature("dynamic-tag-var");
11221
- if (!tag.node.var.extra.binding.pruned) {
11226
+ if (analyzeTagNameType(tag, true) !== 1 && !tag.node.var.extra.binding.pruned) {
11222
11227
  const accessor = getScopeAccessorLiteral(tag.node.extra.nodeBinding, true);
11223
11228
  if (addRuntimeOnce(`_dynamic_tag_var_resume ${accessor.value}`)) (0, _marko_compiler_babel_utils.getProgram)().node.body.push(_marko_compiler.types.expressionStatement(callRuntime("_dynamic_tag_var_resume", accessor)));
11224
11229
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "6.4.2",
3
+ "version": "6.4.3",
4
4
  "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
6
  "api",
@@ -57,7 +57,7 @@
57
57
  "magic-string": "^0.30.21"
58
58
  },
59
59
  "devDependencies": {
60
- "@marko/runtime-tags": "npm:marko@6.4.2",
60
+ "@marko/runtime-tags": "npm:marko@6.4.3",
61
61
  "marko": "5.39.45"
62
62
  },
63
63
  "engines": {
package/tags-html.d.ts CHANGED
@@ -2225,11 +2225,6 @@ declare global {
2225
2225
  */
2226
2226
  autocomplete?: AttrAutoComplete;
2227
2227
 
2228
- /**
2229
- * (Safari only). Controls the autocorrect behavior of the <textarea> element.
2230
- */
2231
- autocorrect?: AttrOnOff;
2232
-
2233
2228
  /**
2234
2229
  * Specifies the visible width of the <textarea> element in terms of character width.
2235
2230
  * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-cols
@@ -4208,6 +4203,12 @@ declare global {
4208
4203
  | "sentences"
4209
4204
  | "words";
4210
4205
 
4206
+ /**
4207
+ * Controls whether user agents may autocorrect spelling while the user types.
4208
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-autocorrect
4209
+ */
4210
+ autocorrect?: AttrOnOff;
4211
+
4211
4212
  /**
4212
4213
  * Indicates whether the element should automatically get focus when the page loads.
4213
4214
  * @see https://html.spec.whatwg.org/multipage/interaction.html#the-autofocus-attribute