marko 6.3.45 → 6.3.47

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 (55) hide show
  1. package/dist/common/constants/resume-symbol.d.ts +5 -2
  2. package/dist/common/helpers.d.ts +2 -0
  3. package/dist/debug/dom/catch.feat.js +1 -1
  4. package/dist/debug/dom/catch.feat.mjs +1 -1
  5. package/dist/debug/dom/controllable-input.feat.js +1 -1
  6. package/dist/debug/dom/controllable-input.feat.mjs +1 -1
  7. package/dist/debug/dom/controllable-open.feat.js +1 -1
  8. package/dist/debug/dom/controllable-open.feat.mjs +1 -1
  9. package/dist/debug/dom/controllable-select.feat.js +1 -1
  10. package/dist/debug/dom/controllable-select.feat.mjs +1 -1
  11. package/dist/debug/dom/controllable-textarea.feat.js +1 -1
  12. package/dist/debug/dom/controllable-textarea.feat.mjs +1 -1
  13. package/dist/debug/dom/controllable.feat.js +1 -1
  14. package/dist/debug/dom/controllable.feat.mjs +1 -1
  15. package/dist/debug/dom/dynamic-tag-var.feat.js +1 -1
  16. package/dist/debug/dom/dynamic-tag-var.feat.mjs +1 -1
  17. package/dist/debug/dom/placeholder.feat.js +1 -1
  18. package/dist/debug/dom/placeholder.feat.mjs +1 -1
  19. package/dist/debug/{dom-DBuLwSOh.js → dom-BheMBjYT.js} +29 -8
  20. package/dist/debug/{dom-ky42a_qY.mjs → dom-DyBeisho.mjs} +24 -9
  21. package/dist/debug/dom.js +2 -1
  22. package/dist/debug/dom.mjs +2 -2
  23. package/dist/debug/html.js +33 -18
  24. package/dist/debug/html.mjs +32 -18
  25. package/dist/dom/catch.feat.js +3 -3
  26. package/dist/dom/catch.feat.mjs +1 -1
  27. package/dist/dom/controllable-input.feat.js +1 -1
  28. package/dist/dom/controllable-input.feat.mjs +1 -1
  29. package/dist/dom/controllable-open.feat.js +1 -1
  30. package/dist/dom/controllable-open.feat.mjs +1 -1
  31. package/dist/dom/controllable-select.feat.js +1 -1
  32. package/dist/dom/controllable-select.feat.mjs +1 -1
  33. package/dist/dom/controllable-textarea.feat.js +1 -1
  34. package/dist/dom/controllable-textarea.feat.mjs +1 -1
  35. package/dist/dom/controllable.feat.js +1 -1
  36. package/dist/dom/controllable.feat.mjs +1 -1
  37. package/dist/dom/dom.d.ts +1 -1
  38. package/dist/dom/dynamic-tag-var.feat.js +1 -1
  39. package/dist/dom/dynamic-tag-var.feat.mjs +1 -1
  40. package/dist/dom/placeholder.feat.js +3 -3
  41. package/dist/dom/placeholder.feat.mjs +1 -1
  42. package/dist/dom/resume.d.ts +1 -0
  43. package/dist/{dom-BSAs0ur8.mjs → dom-BbknkVDz.mjs} +13 -13
  44. package/dist/{dom-DHJCbngT.js → dom-DprILxYO.js} +64 -59
  45. package/dist/dom.d.ts +1 -1
  46. package/dist/dom.js +24 -24
  47. package/dist/dom.mjs +2 -2
  48. package/dist/html/writer.d.ts +2 -1
  49. package/dist/html.d.ts +1 -1
  50. package/dist/html.js +21 -10
  51. package/dist/html.mjs +21 -10
  52. package/dist/translator/index.js +36 -419
  53. package/dist/translator/util/signals.d.ts +4 -1
  54. package/dist/translator/visitors/constants/sibling-text.d.ts +0 -1
  55. package/package.json +3 -3
@@ -1,7 +1,10 @@
1
- export declare const Node = "*";
1
+ export declare const Node = "$";
2
+ export declare const EmptyText = "%";
3
+ export declare const HtmlStart = "&";
4
+ export declare const HtmlEnd = "'";
2
5
  export declare const BranchStart = "[";
3
6
  export declare const BranchEnd = "]";
4
- export declare const BranchEndNativeTag = "'";
7
+ export declare const BranchEndNativeTag = "(";
5
8
  export declare const BranchEndSingleNode = "|";
6
9
  export declare const BranchEndOnlyChildInParent = ")";
7
10
  export declare const BranchEndSingleNodeOnlyChildInParent = "}";
@@ -15,3 +15,5 @@ export declare function normalizeDynamicRenderer<Renderer>(value: any): Renderer
15
15
  export declare const decodeAccessor: (num: number) => string;
16
16
  export declare let branchesEnabled: undefined | 1;
17
17
  export declare function withBranches<T>(runtime?: T): T;
18
+ export declare let dynamicHtmlEnabled: undefined | 1;
19
+ export declare function withDynamicHtml<T>(runtime: T): T;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  //#region src/dom/catch.feat.ts
4
4
  const handlePendingTry = (fn, scope, branch) => {
5
5
  while (branch) {
@@ -1,4 +1,4 @@
1
- import { An as PendingRenders, Cn as ClosestBranch, On as ParentBranch, bn as Pending, en as caughtError, g as renderCatch, kn as PendingEffects, nn as placeholderShown, tn as installCatch, xn as Scope } from "../dom-ky42a_qY.mjs";
1
+ import { An as PendingEffects, Sn as Scope, g as renderCatch, jn as PendingRenders, kn as ParentBranch, nn as installCatch, rn as placeholderShown, tn as caughtError, wn as ClosestBranch, xn as Pending } from "../dom-DyBeisho.mjs";
2
2
  //#region src/dom/catch.feat.ts
3
3
  const handlePendingTry = (fn, scope, branch) => {
4
4
  while (branch) {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  //#region src/dom/controllable-input.feat.ts
4
4
  require_control_flow.controllableScripts[0] = require_control_flow._attr_input_checked_script;
5
5
  require_control_flow.controllableScripts[1] = require_control_flow._attr_input_checkedValue_script;
@@ -1,4 +1,4 @@
1
- import { A as _attr_input_value_script, C as _attr_input_checkedValue_script, T as _attr_input_checked_script, z as controllableScripts } from "../dom-ky42a_qY.mjs";
1
+ import { A as _attr_input_value_script, C as _attr_input_checkedValue_script, T as _attr_input_checked_script, z as controllableScripts } from "../dom-DyBeisho.mjs";
2
2
  //#region src/dom/controllable-input.feat.ts
3
3
  controllableScripts[0] = _attr_input_checked_script;
4
4
  controllableScripts[1] = _attr_input_checkedValue_script;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  //#region src/dom/controllable-open.feat.ts
4
4
  require_control_flow.controllableScripts[4] = require_control_flow._attr_details_or_dialog_open_script;
5
5
  //#endregion
@@ -1,4 +1,4 @@
1
- import { y as _attr_details_or_dialog_open_script, z as controllableScripts } from "../dom-ky42a_qY.mjs";
1
+ import { y as _attr_details_or_dialog_open_script, z as controllableScripts } from "../dom-DyBeisho.mjs";
2
2
  //#region src/dom/controllable-open.feat.ts
3
3
  controllableScripts[4] = _attr_details_or_dialog_open_script;
4
4
  //#endregion
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  //#region src/dom/controllable-select.feat.ts
4
4
  require_control_flow.controllableScripts[3] = require_control_flow._attr_select_value_script;
5
5
  //#endregion
@@ -1,4 +1,4 @@
1
- import { N as _attr_select_value_script, z as controllableScripts } from "../dom-ky42a_qY.mjs";
1
+ import { N as _attr_select_value_script, z as controllableScripts } from "../dom-DyBeisho.mjs";
2
2
  //#region src/dom/controllable-select.feat.ts
3
3
  controllableScripts[3] = _attr_select_value_script;
4
4
  //#endregion
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  //#region src/dom/controllable-textarea.feat.ts
4
4
  require_control_flow.controllableScripts[2] = require_control_flow._attr_input_value_script;
5
5
  //#endregion
@@ -1,4 +1,4 @@
1
- import { A as _attr_input_value_script, z as controllableScripts } from "../dom-ky42a_qY.mjs";
1
+ import { A as _attr_input_value_script, z as controllableScripts } from "../dom-DyBeisho.mjs";
2
2
  //#region src/dom/controllable-textarea.feat.ts
3
3
  controllableScripts[2] = _attr_input_value_script;
4
4
  //#endregion
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  require("./controllable-input.feat.js");
4
4
  require("./controllable-open.feat.js");
5
5
  require("./controllable-select.feat.js");
@@ -1,4 +1,4 @@
1
- import { F as _controllable_open, I as _controllable_select, L as _controllable_textarea, P as _controllable_input, R as controllableRenders } from "../dom-ky42a_qY.mjs";
1
+ import { F as _controllable_open, I as _controllable_select, L as _controllable_textarea, P as _controllable_input, R as controllableRenders } from "../dom-DyBeisho.mjs";
2
2
  import "./controllable-input.feat.mjs";
3
3
  import "./controllable-open.feat.mjs";
4
4
  import "./controllable-select.feat.mjs";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  //#region src/dom/dynamic-tag-var.feat.ts
4
4
  const elementGetter = (branch) => () => require_control_flow._el_read(branch[require_control_flow.StartNode]);
5
5
  require_control_flow.installDynamicTagVar((branch) => branch[require_control_flow.TagVariable](elementGetter(branch)));
@@ -1,4 +1,4 @@
1
- import { Mn as StartNode, Nn as TagVariable, Ot as _el_read, Xt as DYNAMIC_TAG_VAR_REGISTER_ID, gt as _resume, m as installDynamicTagVar } from "../dom-ky42a_qY.mjs";
1
+ import { Nn as StartNode, Pn as TagVariable, Zt as DYNAMIC_TAG_VAR_REGISTER_ID, gt as _resume, kt as _el_read, m as installDynamicTagVar } from "../dom-DyBeisho.mjs";
2
2
  //#region src/dom/dynamic-tag-var.feat.ts
3
3
  const elementGetter = (branch) => () => _el_read(branch[StartNode]);
4
4
  installDynamicTagVar((branch) => branch[TagVariable](elementGetter(branch)));
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require_control_flow = require("../dom-DBuLwSOh.js");
2
+ const require_control_flow = require("../dom-BheMBjYT.js");
3
3
  //#region src/dom/placeholder.feat.ts
4
4
  require_control_flow.registeredValues[require_control_flow.PLACEHOLDER_DISMISS_REGISTER_ID] = (tryBranch) => {
5
5
  if (tryBranch["#PlaceholderBranch"]) {
@@ -1,4 +1,4 @@
1
- import { Gt as destroyBranch, St as registeredValues, Zt as PLACEHOLDER_DISMISS_REGISTER_ID, jn as PlaceholderBranch } from "../dom-ky42a_qY.mjs";
1
+ import { Ct as registeredValues, Kt as destroyBranch, Mn as PlaceholderBranch, Qt as PLACEHOLDER_DISMISS_REGISTER_ID } from "../dom-DyBeisho.mjs";
2
2
  //#region src/dom/placeholder.feat.ts
3
3
  registeredValues[PLACEHOLDER_DISMISS_REGISTER_ID] = (tryBranch) => {
4
4
  if (tryBranch["#PlaceholderBranch"]) {
@@ -178,6 +178,11 @@ function withBranches(runtime) {
178
178
  branchesEnabled = 1;
179
179
  return runtime;
180
180
  }
181
+ let dynamicHtmlEnabled;
182
+ function withDynamicHtml(runtime) {
183
+ dynamicHtmlEnabled = 1;
184
+ return runtime;
185
+ }
181
186
  //#endregion
182
187
  //#region src/common/errors.ts
183
188
  const lowercaseEventHandlerReg = /^on[a-z]/;
@@ -860,11 +865,17 @@ const registeredValues = {};
860
865
  let curRenders;
861
866
  let embedRenders;
862
867
  let readyIds;
868
+ let failedIds;
863
869
  let lazyEnabled;
864
870
  function ready(readyId) {
865
871
  (readyIds ||= /* @__PURE__ */ new Set()).add(readyId);
866
872
  for (const renderId in curRenders) runResumeEffects(curRenders[renderId]);
867
873
  }
874
+ function readyFailed(readyId) {
875
+ if (failedIds?.has(readyId) || readyIds?.has(readyId)) return;
876
+ (failedIds ||= /* @__PURE__ */ new Set()).add(readyId);
877
+ console.error(`The lazy module for "${readyId}" failed to load; its server-rendered content cannot become interactive.`);
878
+ }
868
879
  function withLazy(runtime) {
869
880
  lazyEnabled = 1;
870
881
  return runtime;
@@ -938,7 +949,7 @@ function init(runtimeId = "M") {
938
949
  while (startVisit.previousSibling && ~visits.indexOf(startVisit = startVisit.previousSibling));
939
950
  branch["_"] ??= visitScope;
940
951
  branch[EndNode] = branch[StartNode] = startVisit;
941
- if (visitType === "'") branch[getDebugKey(0, startVisit)] = startVisit;
952
+ if (visitType === "(") branch[getDebugKey(0, startVisit)] = startVisit;
942
953
  } else {
943
954
  curBranchScopes = push(curBranchScopes, branch);
944
955
  if (accessor) {
@@ -1005,6 +1016,7 @@ function init(runtimeId = "M") {
1005
1016
  let lastToken;
1006
1017
  let lastTokenIndex;
1007
1018
  let visitBranches;
1019
+ let htmlStart;
1008
1020
  let embedAnchor;
1009
1021
  serializeContext._ = registeredValues;
1010
1022
  if (render.m) throw new Error(`Marko rendered multiple times with $global.runtimeId as ${JSON.stringify(runtimeId)} and $global.renderId as ${JSON.stringify(renderId)}. Ensure each render into a page has a unique $global.renderId.`);
@@ -1023,11 +1035,14 @@ function init(runtimeId = "M") {
1023
1035
  visitText = visit.data;
1024
1036
  visitType = visitText[lastTokenIndex++];
1025
1037
  visitScope = getScope(nextToken());
1026
- if (visitType === "*") {
1027
- const prev = visit.previousSibling;
1028
- visitScope[nextToken()] = prev && (prev.nodeType < 8 || prev.data) ? prev : visit.parentNode.insertBefore(new Text(), visit);
1029
- } else if (branchesEnabled) (visitBranches ||= createVisitBranches())();
1030
- else if (lazyEnabled && render.b) visits[retained++] = visit;
1038
+ if (dynamicHtmlEnabled && visitType > "%" && visitType <= "'") if (visitType === "&") htmlStart = visit;
1039
+ else {
1040
+ visitScope[nextToken()] = htmlStart;
1041
+ visitScope[DynamicHTMLLastChild + lastToken] = visit;
1042
+ }
1043
+ else if (branchesEnabled && visitType > "'") (visitBranches ||= createVisitBranches())();
1044
+ else if (lazyEnabled && render.b && visitType > "%") visits[retained++] = visit;
1045
+ else visitScope[nextToken()] = visitType === "$" ? visit.previousSibling : visit.parentNode.insertBefore(new Text(), visit);
1031
1046
  }
1032
1047
  if (embedRenders && !embedAnchor && visit) embedRenders.set(embedAnchor = visit.parentNode.insertBefore(new Text(), visit.nextSibling), [renderId, scopeLookup]);
1033
1048
  visits.length = retained;
@@ -1277,14 +1292,14 @@ function _attrs_script(scope, nodeAccessor) {
1277
1292
  controllableScripts[scope[ControlledType + nodeAccessor]]?.(scope, nodeAccessor);
1278
1293
  for (const name in events) _on(el, name, events[name]);
1279
1294
  }
1280
- function _html(scope, value, accessor) {
1295
+ const _html = /*@__PURE__*/ withDynamicHtml(function _html(scope, value, accessor) {
1281
1296
  const firstChild = scope[accessor];
1282
1297
  const parentNode = firstChild.parentNode;
1283
1298
  const lastChild = scope["DynamicHTMLLastChild:" + accessor] || firstChild;
1284
1299
  const newContent = parseHTML(_to_text(value), parentNode.namespaceURI);
1285
1300
  insertChildNodes(parentNode, firstChild, scope[accessor] = newContent.firstChild || newContent.appendChild(new Text()), scope[DynamicHTMLLastChild + accessor] = newContent.lastChild);
1286
1301
  removeChildNodes(firstChild, lastChild);
1287
- }
1302
+ });
1288
1303
  function normalizeClientRender(value) {
1289
1304
  const renderer = normalizeDynamicRenderer(value);
1290
1305
  if (renderer) if (renderer["id"]) return renderer;
@@ -2864,6 +2879,12 @@ Object.defineProperty(exports, "ready", {
2864
2879
  return ready;
2865
2880
  }
2866
2881
  });
2882
+ Object.defineProperty(exports, "readyFailed", {
2883
+ enumerable: true,
2884
+ get: function() {
2885
+ return readyFailed;
2886
+ }
2887
+ });
2867
2888
  Object.defineProperty(exports, "registeredValues", {
2868
2889
  enumerable: true,
2869
2890
  get: function() {
@@ -177,6 +177,11 @@ function withBranches(runtime) {
177
177
  branchesEnabled = 1;
178
178
  return runtime;
179
179
  }
180
+ let dynamicHtmlEnabled;
181
+ function withDynamicHtml(runtime) {
182
+ dynamicHtmlEnabled = 1;
183
+ return runtime;
184
+ }
180
185
  //#endregion
181
186
  //#region src/common/errors.ts
182
187
  const lowercaseEventHandlerReg = /^on[a-z]/;
@@ -859,11 +864,17 @@ const registeredValues = {};
859
864
  let curRenders;
860
865
  let embedRenders;
861
866
  let readyIds;
867
+ let failedIds;
862
868
  let lazyEnabled;
863
869
  function ready(readyId) {
864
870
  (readyIds ||= /* @__PURE__ */ new Set()).add(readyId);
865
871
  for (const renderId in curRenders) runResumeEffects(curRenders[renderId]);
866
872
  }
873
+ function readyFailed(readyId) {
874
+ if (failedIds?.has(readyId) || readyIds?.has(readyId)) return;
875
+ (failedIds ||= /* @__PURE__ */ new Set()).add(readyId);
876
+ console.error(`The lazy module for "${readyId}" failed to load; its server-rendered content cannot become interactive.`);
877
+ }
867
878
  function withLazy(runtime) {
868
879
  lazyEnabled = 1;
869
880
  return runtime;
@@ -937,7 +948,7 @@ function init(runtimeId = "M") {
937
948
  while (startVisit.previousSibling && ~visits.indexOf(startVisit = startVisit.previousSibling));
938
949
  branch["_"] ??= visitScope;
939
950
  branch[EndNode] = branch[StartNode] = startVisit;
940
- if (visitType === "'") branch[getDebugKey(0, startVisit)] = startVisit;
951
+ if (visitType === "(") branch[getDebugKey(0, startVisit)] = startVisit;
941
952
  } else {
942
953
  curBranchScopes = push(curBranchScopes, branch);
943
954
  if (accessor) {
@@ -1004,6 +1015,7 @@ function init(runtimeId = "M") {
1004
1015
  let lastToken;
1005
1016
  let lastTokenIndex;
1006
1017
  let visitBranches;
1018
+ let htmlStart;
1007
1019
  let embedAnchor;
1008
1020
  serializeContext._ = registeredValues;
1009
1021
  if (render.m) throw new Error(`Marko rendered multiple times with $global.runtimeId as ${JSON.stringify(runtimeId)} and $global.renderId as ${JSON.stringify(renderId)}. Ensure each render into a page has a unique $global.renderId.`);
@@ -1022,11 +1034,14 @@ function init(runtimeId = "M") {
1022
1034
  visitText = visit.data;
1023
1035
  visitType = visitText[lastTokenIndex++];
1024
1036
  visitScope = getScope(nextToken());
1025
- if (visitType === "*") {
1026
- const prev = visit.previousSibling;
1027
- visitScope[nextToken()] = prev && (prev.nodeType < 8 || prev.data) ? prev : visit.parentNode.insertBefore(new Text(), visit);
1028
- } else if (branchesEnabled) (visitBranches ||= createVisitBranches())();
1029
- else if (lazyEnabled && render.b) visits[retained++] = visit;
1037
+ if (dynamicHtmlEnabled && visitType > "%" && visitType <= "'") if (visitType === "&") htmlStart = visit;
1038
+ else {
1039
+ visitScope[nextToken()] = htmlStart;
1040
+ visitScope[DynamicHTMLLastChild + lastToken] = visit;
1041
+ }
1042
+ else if (branchesEnabled && visitType > "'") (visitBranches ||= createVisitBranches())();
1043
+ else if (lazyEnabled && render.b && visitType > "%") visits[retained++] = visit;
1044
+ else visitScope[nextToken()] = visitType === "$" ? visit.previousSibling : visit.parentNode.insertBefore(new Text(), visit);
1030
1045
  }
1031
1046
  if (embedRenders && !embedAnchor && visit) embedRenders.set(embedAnchor = visit.parentNode.insertBefore(new Text(), visit.nextSibling), [renderId, scopeLookup]);
1032
1047
  visits.length = retained;
@@ -1276,14 +1291,14 @@ function _attrs_script(scope, nodeAccessor) {
1276
1291
  controllableScripts[scope[ControlledType + nodeAccessor]]?.(scope, nodeAccessor);
1277
1292
  for (const name in events) _on(el, name, events[name]);
1278
1293
  }
1279
- function _html(scope, value, accessor) {
1294
+ const _html = /*@__PURE__*/ withDynamicHtml(function _html(scope, value, accessor) {
1280
1295
  const firstChild = scope[accessor];
1281
1296
  const parentNode = firstChild.parentNode;
1282
1297
  const lastChild = scope["DynamicHTMLLastChild:" + accessor] || firstChild;
1283
1298
  const newContent = parseHTML(_to_text(value), parentNode.namespaceURI);
1284
1299
  insertChildNodes(parentNode, firstChild, scope[accessor] = newContent.firstChild || newContent.appendChild(new Text()), scope[DynamicHTMLLastChild + accessor] = newContent.lastChild);
1285
1300
  removeChildNodes(firstChild, lastChild);
1286
- }
1301
+ });
1287
1302
  function normalizeClientRender(value) {
1288
1303
  const renderer = normalizeDynamicRenderer(value);
1289
1304
  if (renderer) if (renderer["id"]) return renderer;
@@ -2077,4 +2092,4 @@ function byFirstArg(name) {
2077
2092
  return name;
2078
2093
  }
2079
2094
  //#endregion
2080
- export { _attrs_script as $, $signalReset as $t, _attr_input_value_script as A, PendingRenders as An, _for_selector as At, _attr as B, _return_change as Bt, _attr_input_checkedValue_script as C, ClosestBranch as Cn, withLazy as Ct, _attr_input_value_attribute_default as D, Load as Dn, _const as Dt, _attr_input_value as E, Global as En, _closure_get as Et, _controllable_open as F, _if_closure as Ft, _attr_nonce as G, destroyBranch as Gt, _attr_class_item as H, _var as Ht, _controllable_select as I, _let as It, _attr_style_items as J, syncGen as Jt, _attr_style as K, insertBranchBefore as Kt, _controllable_textarea as L, _let_change as Lt, _attr_select_value_default as M, StartNode as Mn, _hoist as Mt, _attr_select_value_script as N, TagVariable as Nn, _hoist_resume as Nt, _attr_input_value_default as O, ParentBranch as On, _el_read as Ot, _controllable_input as P, _id as Pt, _attrs_partial_content as Q, $signal as Qt, controllableRenders as R, _or as Rt, _attr_input_checkedValue_default as S, AwaitCounter as Sn, registeredValues as St, _attr_input_checked_script as T, Gen$1 as Tn, _closure as Tt, _attr_class_items as U, _var_change as Ut, _attr_class as V, _script as Vt, _attr_content as W, _assert_init as Wt, _attrs_content as X, DYNAMIC_TAG_VAR_REGISTER_ID as Xt, _attrs as Y, _on as Yt, _attrs_partial as Z, PLACEHOLDER_DISMISS_REGISTER_ID as Zt, _attr_details_or_dialog_open as _, Owner as _n, _var_resume as _t, _for_in as a, queueEffect as an, _text_content as at, _attr_input_checked as b, Pending as bn, initEmbedded as bt, _for_until as c, runId as cn, toInsertNode as ct, _show as d, forTo as dn, _content_resume as dt, caughtError as en, _html as et, _try as f, forUntil as fn, createAndSetupBranch as ft, renderCatch as g, Clone as gn, _resume as gt, patchDynamicTag as h, _call as hn, _el as ht, _dynamic_tag_content as i, queueAsyncRender as in, _text as it, _attr_select_value as j, PlaceholderBranch as jn, _global_read as jt, _attr_input_value_dynamic_default as k, PendingEffects as kn, _for_closure as kt, _if as l, forIn as ln, _content as lt, installDynamicTagVar as m, _hoist_read_error as mn, setupBranch as mt, _await_promise as n, placeholderShown as nn, _style_rule_item as nt, _for_of as o, run as on, _to_text as ot, addAwaitCounter as p, _assert_hoist as pn, createBranch as pt, _attr_style_item as q, removeAndDestroyBranch as qt, _dynamic_tag as r, prepareEffects as rn, _style_shell as rt, _for_to as s, runEffects as sn, insertChildNodes as st, _await_content as t, installCatch as tn, _lifecycle as tt, _resume_dynamic_tag as u, forOf as un, _content_closures as ut, _attr_details_or_dialog_open_default as v, Params as vn, getRegisteredWithScope as vt, _attr_input_checked_default as w, EndNode as wn, _child_setup as wt, _attr_input_checkedValue as x, Scope as xn, ready as xt, _attr_details_or_dialog_open_script as y, Setup as yn, init as yt, controllableScripts as z, _return as zt };
2095
+ export { _attrs_script as $, $signal as $t, _attr_input_value_script as A, PendingEffects as An, _for_closure as At, _attr as B, _return as Bt, _attr_input_checkedValue_script as C, AwaitCounter as Cn, registeredValues as Ct, _attr_input_value_attribute_default as D, Global as Dn, _closure_get as Dt, _attr_input_value as E, Gen$1 as En, _closure as Et, _controllable_open as F, _id as Ft, _attr_nonce as G, _assert_init as Gt, _attr_class_item as H, _script as Ht, _controllable_select as I, _if_closure as It, _attr_style_items as J, removeAndDestroyBranch as Jt, _attr_style as K, destroyBranch as Kt, _controllable_textarea as L, _let as Lt, _attr_select_value_default as M, PlaceholderBranch as Mn, _global_read as Mt, _attr_select_value_script as N, StartNode as Nn, _hoist as Nt, _attr_input_value_default as O, Load as On, _const as Ot, _controllable_input as P, TagVariable as Pn, _hoist_resume as Pt, _attrs_partial_content as Q, PLACEHOLDER_DISMISS_REGISTER_ID as Qt, controllableRenders as R, _let_change as Rt, _attr_input_checkedValue_default as S, Scope as Sn, readyFailed as St, _attr_input_checked_script as T, EndNode as Tn, _child_setup as Tt, _attr_class_items as U, _var as Ut, _attr_class as V, _return_change as Vt, _attr_content as W, _var_change as Wt, _attrs_content as X, _on as Xt, _attrs as Y, syncGen as Yt, _attrs_partial as Z, DYNAMIC_TAG_VAR_REGISTER_ID as Zt, _attr_details_or_dialog_open as _, Clone as _n, _var_resume as _t, _for_in as a, queueAsyncRender as an, _text_content as at, _attr_input_checked as b, Setup as bn, initEmbedded as bt, _for_until as c, runEffects as cn, toInsertNode as ct, _show as d, forOf as dn, _content_resume as dt, $signalReset as en, _html as et, _try as f, forTo as fn, createAndSetupBranch as ft, renderCatch as g, _call as gn, _resume as gt, patchDynamicTag as h, _hoist_read_error as hn, _el as ht, _dynamic_tag_content as i, prepareEffects as in, _text as it, _attr_select_value as j, PendingRenders as jn, _for_selector as jt, _attr_input_value_dynamic_default as k, ParentBranch as kn, _el_read as kt, _if as l, runId as ln, _content as lt, installDynamicTagVar as m, _assert_hoist as mn, setupBranch as mt, _await_promise as n, installCatch as nn, _style_rule_item as nt, _for_of as o, queueEffect as on, _to_text as ot, addAwaitCounter as p, forUntil as pn, createBranch as pt, _attr_style_item as q, insertBranchBefore as qt, _dynamic_tag as r, placeholderShown as rn, _style_shell as rt, _for_to as s, run as sn, insertChildNodes as st, _await_content as t, caughtError as tn, _lifecycle as tt, _resume_dynamic_tag as u, forIn as un, _content_closures as ut, _attr_details_or_dialog_open_default as v, Owner as vn, getRegisteredWithScope as vt, _attr_input_checked_default as w, ClosestBranch as wn, withLazy as wt, _attr_input_checkedValue as x, Pending as xn, ready as xt, _attr_details_or_dialog_open_script as y, Params as yn, init as yt, controllableScripts as z, _or as zt };
package/dist/debug/dom.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const require_control_flow = require("./dom-DBuLwSOh.js");
3
+ const require_control_flow = require("./dom-BheMBjYT.js");
4
4
  //#region src/common/attr-tag.ts
5
5
  const empty = [];
6
6
  const rest = Symbol("Attribute Tag");
@@ -413,4 +413,5 @@ exports.forUntil = require_control_flow.forUntil;
413
413
  exports.init = require_control_flow.init;
414
414
  exports.initEmbedded = require_control_flow.initEmbedded;
415
415
  exports.ready = require_control_flow.ready;
416
+ exports.readyFailed = require_control_flow.readyFailed;
416
417
  exports.run = require_control_flow.run;
@@ -1,4 +1,4 @@
1
- import { $ as _attrs_script, $t as $signalReset, A as _attr_input_value_script, At as _for_selector, B as _attr, Bt as _return_change, C as _attr_input_checkedValue_script, Ct as withLazy, D as _attr_input_value_attribute_default, Dn as Load, Dt as _const, E as _attr_input_value, En as Global, Et as _closure_get, F as _controllable_open, Ft as _if_closure, G as _attr_nonce, Gt as destroyBranch, H as _attr_class_item, Ht as _var, I as _controllable_select, It as _let, J as _attr_style_items, Jt as syncGen, K as _attr_style, Kt as insertBranchBefore, L as _controllable_textarea, Lt as _let_change, M as _attr_select_value_default, Mn as StartNode, Mt as _hoist, N as _attr_select_value_script, Nn as TagVariable, Nt as _hoist_resume, O as _attr_input_value_default, Ot as _el_read, P as _controllable_input, Pt as _id, Q as _attrs_partial_content, Qt as $signal, Rt as _or, S as _attr_input_checkedValue_default, T as _attr_input_checked_script, Tt as _closure, U as _attr_class_items, Ut as _var_change, V as _attr_class, Vt as _script, W as _attr_content, Wt as _assert_init, X as _attrs_content, Y as _attrs, Yt as _on, Z as _attrs_partial, _ as _attr_details_or_dialog_open, _n as Owner, _t as _var_resume, a as _for_in, an as queueEffect, at as _text_content, b as _attr_input_checked, bt as initEmbedded, c as _for_until, cn as runId, ct as toInsertNode, d as _show, dn as forTo, dt as _content_resume, et as _html, f as _try, fn as forUntil, ft as createAndSetupBranch, g as renderCatch, gn as Clone, gt as _resume, h as patchDynamicTag, hn as _call, ht as _el, i as _dynamic_tag_content, in as queueAsyncRender, it as _text, j as _attr_select_value, jt as _global_read, k as _attr_input_value_dynamic_default, kt as _for_closure, l as _if, ln as forIn, lt as _content, mn as _hoist_read_error, mt as setupBranch, n as _await_promise, nt as _style_rule_item, o as _for_of, on as run, ot as _to_text, p as addAwaitCounter, pn as _assert_hoist, pt as createBranch, q as _attr_style_item, qt as removeAndDestroyBranch, r as _dynamic_tag, rn as prepareEffects, rt as _style_shell, s as _for_to, sn as runEffects, st as insertChildNodes, t as _await_content, tt as _lifecycle, u as _resume_dynamic_tag, un as forOf, ut as _content_closures, v as _attr_details_or_dialog_open_default, vn as Params, vt as getRegisteredWithScope, w as _attr_input_checked_default, wn as EndNode, wt as _child_setup, x as _attr_input_checkedValue, xt as ready, y as _attr_details_or_dialog_open_script, yn as Setup, yt as init, zt as _return } from "./dom-ky42a_qY.mjs";
1
+ import { $ as _attrs_script, $t as $signal, A as _attr_input_value_script, At as _for_closure, B as _attr, Bt as _return, C as _attr_input_checkedValue_script, D as _attr_input_value_attribute_default, Dn as Global, Dt as _closure_get, E as _attr_input_value, Et as _closure, F as _controllable_open, Ft as _id, G as _attr_nonce, Gt as _assert_init, H as _attr_class_item, Ht as _script, I as _controllable_select, It as _if_closure, J as _attr_style_items, Jt as removeAndDestroyBranch, K as _attr_style, Kt as destroyBranch, L as _controllable_textarea, Lt as _let, M as _attr_select_value_default, Mt as _global_read, N as _attr_select_value_script, Nn as StartNode, Nt as _hoist, O as _attr_input_value_default, On as Load, Ot as _const, P as _controllable_input, Pn as TagVariable, Pt as _hoist_resume, Q as _attrs_partial_content, Rt as _let_change, S as _attr_input_checkedValue_default, St as readyFailed, T as _attr_input_checked_script, Tn as EndNode, Tt as _child_setup, U as _attr_class_items, Ut as _var, V as _attr_class, Vt as _return_change, W as _attr_content, Wt as _var_change, X as _attrs_content, Xt as _on, Y as _attrs, Yt as syncGen, Z as _attrs_partial, _ as _attr_details_or_dialog_open, _n as Clone, _t as _var_resume, a as _for_in, an as queueAsyncRender, at as _text_content, b as _attr_input_checked, bn as Setup, bt as initEmbedded, c as _for_until, cn as runEffects, ct as toInsertNode, d as _show, dn as forOf, dt as _content_resume, en as $signalReset, et as _html, f as _try, fn as forTo, ft as createAndSetupBranch, g as renderCatch, gn as _call, gt as _resume, h as patchDynamicTag, hn as _hoist_read_error, ht as _el, i as _dynamic_tag_content, in as prepareEffects, it as _text, j as _attr_select_value, jt as _for_selector, k as _attr_input_value_dynamic_default, kt as _el_read, l as _if, ln as runId, lt as _content, mn as _assert_hoist, mt as setupBranch, n as _await_promise, nt as _style_rule_item, o as _for_of, on as queueEffect, ot as _to_text, p as addAwaitCounter, pn as forUntil, pt as createBranch, q as _attr_style_item, qt as insertBranchBefore, r as _dynamic_tag, rt as _style_shell, s as _for_to, sn as run, st as insertChildNodes, t as _await_content, tt as _lifecycle, u as _resume_dynamic_tag, un as forIn, ut as _content_closures, v as _attr_details_or_dialog_open_default, vn as Owner, vt as getRegisteredWithScope, w as _attr_input_checked_default, wt as withLazy, x as _attr_input_checkedValue, xt as ready, y as _attr_details_or_dialog_open_script, yn as Params, yt as init, zt as _or } from "./dom-DyBeisho.mjs";
2
2
  //#region src/common/attr-tag.ts
3
3
  const empty = [];
4
4
  const rest = Symbol("Attribute Tag");
@@ -294,4 +294,4 @@ function getSelectorOrResolve(selector, resolve) {
294
294
  return document.querySelector(selector) || (console.warn(`A lazy load trigger could not find an element matching "${selector}". The module was loaded immediately.`), resolve());
295
295
  }
296
296
  //#endregion
297
- export { $signal, $signalReset, _assert_hoist, _assert_init, _attr, _attr_class, _attr_class_item, _attr_class_items, _attr_content, _attr_details_or_dialog_open as _attr_details_open, _attr_details_or_dialog_open as _attr_dialog_open, _attr_details_or_dialog_open_default as _attr_details_open_default, _attr_details_or_dialog_open_default as _attr_dialog_open_default, _attr_details_or_dialog_open_script as _attr_details_open_script, _attr_details_or_dialog_open_script as _attr_dialog_open_script, _attr_input_checked, _attr_input_checkedValue, _attr_input_checkedValue_default, _attr_input_checkedValue_script, _attr_input_checked_default, _attr_input_checked_script, _attr_input_value, _attr_input_value as _attr_textarea_value, _attr_input_value_attribute_default, _attr_input_value_default, _attr_input_value_default as _attr_textarea_value_default, _attr_input_value_dynamic_default, _attr_input_value_script, _attr_input_value_script as _attr_textarea_value_script, _attr_nonce, _attr_select_value, _attr_select_value_default, _attr_select_value_script, _attr_style, _attr_style_item, _attr_style_items, _attrs, _attrs_content, _attrs_partial, _attrs_partial_content, _attrs_script, _await_content, _await_promise, _call, _child_setup, _closure, _closure_get, _const, _content, _content_closures, _content_resume, _controllable_input, _controllable_open, _controllable_select, _controllable_textarea, _dynamic_tag, _dynamic_tag_content, _el, _el_read, _for_closure, _for_in, _for_of, _for_selector, _for_to, _for_until, _global_read, _hoist, _hoist_read_error, _hoist_resume, _html, _id, _if, _if_closure, _let, _let_change, _lifecycle, _load_event_trigger, _load_idle_trigger, _load_media_trigger, _load_race_trigger, _load_setup, _load_signal, _load_template, _load_visible_trigger, _on, _or, _resume, _resume_dynamic_tag, _return, _return_change, _script, _show, _style_rule_item, _style_shell, _template, _text, _text_content, _to_text, _try, _var, _var_change, _var_resume, attrTag, attrTags, compat, forIn, forOf, forTo, forUntil, init, initEmbedded, ready, run };
297
+ export { $signal, $signalReset, _assert_hoist, _assert_init, _attr, _attr_class, _attr_class_item, _attr_class_items, _attr_content, _attr_details_or_dialog_open as _attr_details_open, _attr_details_or_dialog_open as _attr_dialog_open, _attr_details_or_dialog_open_default as _attr_details_open_default, _attr_details_or_dialog_open_default as _attr_dialog_open_default, _attr_details_or_dialog_open_script as _attr_details_open_script, _attr_details_or_dialog_open_script as _attr_dialog_open_script, _attr_input_checked, _attr_input_checkedValue, _attr_input_checkedValue_default, _attr_input_checkedValue_script, _attr_input_checked_default, _attr_input_checked_script, _attr_input_value, _attr_input_value as _attr_textarea_value, _attr_input_value_attribute_default, _attr_input_value_default, _attr_input_value_default as _attr_textarea_value_default, _attr_input_value_dynamic_default, _attr_input_value_script, _attr_input_value_script as _attr_textarea_value_script, _attr_nonce, _attr_select_value, _attr_select_value_default, _attr_select_value_script, _attr_style, _attr_style_item, _attr_style_items, _attrs, _attrs_content, _attrs_partial, _attrs_partial_content, _attrs_script, _await_content, _await_promise, _call, _child_setup, _closure, _closure_get, _const, _content, _content_closures, _content_resume, _controllable_input, _controllable_open, _controllable_select, _controllable_textarea, _dynamic_tag, _dynamic_tag_content, _el, _el_read, _for_closure, _for_in, _for_of, _for_selector, _for_to, _for_until, _global_read, _hoist, _hoist_read_error, _hoist_resume, _html, _id, _if, _if_closure, _let, _let_change, _lifecycle, _load_event_trigger, _load_idle_trigger, _load_media_trigger, _load_race_trigger, _load_setup, _load_signal, _load_template, _load_visible_trigger, _on, _or, _resume, _resume_dynamic_tag, _return, _return_change, _script, _show, _style_rule_item, _style_shell, _template, _text, _text_content, _to_text, _try, _var, _var_change, _var_resume, attrTag, attrTags, compat, forIn, forOf, forTo, forUntil, init, initEmbedded, ready, readyFailed, run };
@@ -300,16 +300,16 @@ function _escape_comment(val) {
300
300
  //#endregion
301
301
  //#region src/html/serializer.ts
302
302
  const K_SCOPE_ID = Symbol("Scope ID");
303
- const kTouchedIterator = Symbol.for("marko.touchedIterator");
303
+ const kTouchedIterator = /* @__PURE__ */ Symbol.for("marko.touchedIterator");
304
304
  const { hasOwnProperty } = {};
305
305
  const objectProto = Object.prototype;
306
306
  const arrayProto = Array.prototype;
307
- const Generator = (function* () {})().constructor;
308
- const AsyncGenerator = (async function* () {})().constructor;
307
+ const Generator = (/* @__PURE__ */ (function* () {})()).constructor;
308
+ const AsyncGenerator = (/* @__PURE__ */ (async function* () {})()).constructor;
309
309
  patchIteratorNext(Generator.prototype);
310
310
  patchIteratorNext(AsyncGenerator.prototype);
311
311
  const REGISTRY = /* @__PURE__ */ new WeakMap();
312
- const KNOWN_SYMBOLS = (() => {
312
+ const KNOWN_SYMBOLS = /* @__PURE__ */ (() => {
313
313
  const KNOWN_SYMBOLS = /* @__PURE__ */ new Map();
314
314
  for (const name of Object.getOwnPropertyNames(Symbol)) {
315
315
  const symbol = Symbol[name];
@@ -317,7 +317,7 @@ const KNOWN_SYMBOLS = (() => {
317
317
  }
318
318
  return KNOWN_SYMBOLS;
319
319
  })();
320
- const KNOWN_FUNCTIONS = /* @__PURE__ */ new Map([
320
+ const KNOWN_FUNCTIONS = /* @__PURE__ */ (() => /* @__PURE__ */ new Map([
321
321
  [AggregateError, "AggregateError"],
322
322
  [Array, "Array"],
323
323
  [Array.from, "Array.from"],
@@ -535,8 +535,8 @@ const KNOWN_FUNCTIONS = /* @__PURE__ */ new Map([
535
535
  [URIError, "URIError"],
536
536
  [WeakMap, "WeakMap"],
537
537
  [WeakSet, "WeakSet"]
538
- ]);
539
- const KNOWN_OBJECTS = /* @__PURE__ */ new Map([
538
+ ]))();
539
+ const KNOWN_OBJECTS = /* @__PURE__ */ (() => /* @__PURE__ */ new Map([
540
540
  [Atomics, "Atomics"],
541
541
  [console, "console"],
542
542
  [globalThis, "globalThis"],
@@ -545,7 +545,7 @@ const KNOWN_OBJECTS = /* @__PURE__ */ new Map([
545
545
  [JSON, "JSON"],
546
546
  [Math, "Math"],
547
547
  [Reflect, "Reflect"]
548
- ]);
548
+ ]))();
549
549
  var State$1 = class {
550
550
  ids = 0;
551
551
  flushId = 0;
@@ -2022,10 +2022,23 @@ function _el_resume(scopeId, accessor, shouldResume) {
2022
2022
  if (shouldResume === 0) return "";
2023
2023
  const { state } = $chunk.boundary;
2024
2024
  state.needsMainRuntime = true;
2025
- return state.mark("*", scopeId + " " + accessor);
2025
+ return state.mark("$", scopeId + " " + accessor);
2026
2026
  }
2027
- function _sep(shouldResume) {
2028
- return shouldResume === 0 ? "" : "<!>";
2027
+ function _text_resume(scopeId, accessor, val, shouldResume) {
2028
+ return markText(scopeId, accessor, _escape(val), shouldResume);
2029
+ }
2030
+ function _html_resume(scopeId, accessor, val, shouldResume) {
2031
+ const html = _unescaped(val);
2032
+ if (shouldResume === 0 || !~html.indexOf("<")) return markText(scopeId, accessor, html, shouldResume);
2033
+ const { state } = $chunk.boundary;
2034
+ state.needsMainRuntime = true;
2035
+ return state.mark("&", "") + html + state.mark("'", scopeId + " " + accessor);
2036
+ }
2037
+ function markText(scopeId, accessor, text, shouldResume) {
2038
+ if (shouldResume === 0) return text;
2039
+ const { state } = $chunk.boundary;
2040
+ state.needsMainRuntime = true;
2041
+ return text ? (shouldResume === 2 ? "<!>" : "") + text + state.mark("$", scopeId + " " + accessor) : state.mark("%", scopeId + " " + accessor);
2029
2042
  }
2030
2043
  function _resume_branch(scopeId) {
2031
2044
  const branchId = $chunk.context?.[kBranchId];
@@ -2315,7 +2328,7 @@ function tryCatch(content, catchContent) {
2315
2328
  const chunk = $chunk;
2316
2329
  const { boundary } = chunk;
2317
2330
  const { state } = boundary;
2318
- const catchBoundary = new Boundary(state, void 0, boundary);
2331
+ const catchBoundary = new Boundary(state, boundary.signal, boundary);
2319
2332
  const body = chunk.fork(catchBoundary, null);
2320
2333
  const bodyEnd = body.render(content);
2321
2334
  if (catchBoundary.signal.aborted) {
@@ -3111,7 +3124,7 @@ let _dynamic_tag = (scopeId, accessor, tag, inputOrArgs, content, inputIsArgs, s
3111
3124
  writeScope(branchId, { [Renderer]: renderer });
3112
3125
  _script(branchId, DYNAMIC_TAG_SCRIPT_REGISTER_ID);
3113
3126
  }
3114
- if (shouldResume || needsScript) _html(state.mark("'", scopeId + " " + accessor + " " + branchId));
3127
+ if (shouldResume || needsScript) _html(state.mark("(", scopeId + " " + accessor + " " + branchId));
3115
3128
  };
3116
3129
  renderNative();
3117
3130
  result = _el(branchId, DYNAMIC_TAG_VAR_REGISTER_ID);
@@ -3150,7 +3163,7 @@ function _content(id, fn, scopeId) {
3150
3163
  function _content_resume(id, fn, scopeId) {
3151
3164
  return _resume(_content(id, fn, scopeId), id, scopeId);
3152
3165
  }
3153
- const patchDynamicTag = ((originalDynamicTag) => (patch) => {
3166
+ const patchDynamicTag = /* @__PURE__ */ ((originalDynamicTag) => (patch) => {
3154
3167
  _dynamic_tag = (scopeId, accessor, tag, input, content, inputIsArgs, resume) => {
3155
3168
  const patched = patch(tag, scopeId, accessor);
3156
3169
  if (patched !== tag) patched["id"] = tag;
@@ -3440,7 +3453,7 @@ function flush(g, html) {
3440
3453
  const { id, triggers } = assets[di];
3441
3454
  const deferHTML = assetFlush(g, "defer", id);
3442
3455
  if (triggers) {
3443
- if (deferHTML) writeTriggerScript(deferHTML, triggers);
3456
+ if (deferHTML) writeTriggerScript(id, deferHTML, triggers);
3444
3457
  } else result += deferHTML;
3445
3458
  }
3446
3459
  g[kBlockIndex] = bi;
@@ -3464,8 +3477,9 @@ function addAsset(g, id, triggers) {
3464
3477
  if (JSON.stringify(existing.triggers) !== JSON.stringify(triggers)) console.error(`The lazy asset "${id}" is imported with different \`load\` triggers; an asset must use one consistent trigger.`);
3465
3478
  }
3466
3479
  }
3467
- function writeTriggerScript(html, triggers) {
3480
+ function writeTriggerScript(id, html, triggers) {
3468
3481
  const htmlStr = _escape_script(JSON.stringify(html));
3482
+ const insert = `(d=new Range().createContextualFragment(h),d.querySelectorAll("script").forEach(s=>s.onerror=()=>console.error(${_escape_script(JSON.stringify(`The lazy module for "${id}" failed to load; its server-rendered content cannot become interactive.`))})),p.after(d))`;
3469
3483
  const exprs = triggers.map((trigger) => {
3470
3484
  const options = trigger.options && toObjectExpression(trigger.options);
3471
3485
  switch (trigger.type) {
@@ -3475,7 +3489,7 @@ function writeTriggerScript(html, triggers) {
3475
3489
  default: return `(e=>e?.addEventListener("${trigger.type.slice(3)}",l,{once:1}))(${querySelectorOrLoad(trigger.selector)})`;
3476
3490
  }
3477
3491
  });
3478
- writeScript(`((p,h,d,l=$=>{d||p.after(new Range().createContextualFragment(d=h))})=>${exprs.length > 1 ? `{${exprs.join(";")}}` : exprs[0]})(document.currentScript,${htmlStr})`);
3492
+ writeScript(`((p,h,d,l=$=>{d||${insert}})=>${exprs.length > 1 ? `{${exprs.join(";")}}` : exprs[0]})(document.currentScript,${htmlStr})`);
3479
3493
  }
3480
3494
  function querySelectorOrLoad(selector) {
3481
3495
  return `document.querySelector(${JSON.stringify(selector)})||${`(console.warn(${JSON.stringify(`A lazy load trigger could not find an element matching "${selector}". The module was loaded immediately.`)}),l())`}`;
@@ -3695,6 +3709,7 @@ exports._for_until = _for_until;
3695
3709
  exports._hoist = _hoist;
3696
3710
  exports._hoist_read_error = _hoist_read_error;
3697
3711
  exports._html = _html;
3712
+ exports._html_resume = _html_resume;
3698
3713
  exports._id = _id;
3699
3714
  exports._if = _if;
3700
3715
  exports._peek_scope_id = _peek_scope_id;
@@ -3711,7 +3726,6 @@ exports._scope_id = _scope_id;
3711
3726
  exports._scope_reason = _scope_reason;
3712
3727
  exports._scope_with_id = _scope_with_id;
3713
3728
  exports._script = _script;
3714
- exports._sep = _sep;
3715
3729
  exports._serialize_guard = _serialize_guard;
3716
3730
  exports._serialize_if = _serialize_if;
3717
3731
  exports._set_serialize_reason = _set_serialize_reason;
@@ -3720,6 +3734,7 @@ exports._show_start = _show_start;
3720
3734
  exports._style_html = _style_html;
3721
3735
  exports._subscribe = _subscribe;
3722
3736
  exports._template = _template;
3737
+ exports._text_resume = _text_resume;
3723
3738
  exports._textarea_value = _textarea_value;
3724
3739
  exports._to_text = _to_text;
3725
3740
  exports._trailers = _trailers;