marko 5.25.2 → 5.25.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 (36) hide show
  1. package/dist/compiler/modules.js +1 -1
  2. package/dist/core-tags/components/preserve-tag.js +81 -0
  3. package/dist/core-tags/core/await/renderer.js +1 -1
  4. package/dist/runtime/RenderResult.js +1 -1
  5. package/dist/runtime/components/Component.js +9 -9
  6. package/dist/runtime/components/ComponentDef.js +3 -3
  7. package/dist/runtime/components/ComponentsContext.js +5 -5
  8. package/dist/runtime/components/State.js +2 -2
  9. package/dist/runtime/components/beginComponent/index-browser.js +3 -3
  10. package/dist/runtime/components/beginComponent/index.js +1 -1
  11. package/dist/runtime/components/endComponent/index.js +1 -1
  12. package/dist/runtime/components/entry/index.js +1 -1
  13. package/dist/runtime/components/registry/index-browser.js +6 -6
  14. package/dist/runtime/components/renderer.js +8 -8
  15. package/dist/runtime/components/util/index-browser.js +3 -3
  16. package/dist/runtime/components/util/index.js +1 -1
  17. package/dist/runtime/helpers/dynamic-tag.js +8 -8
  18. package/dist/runtime/helpers/render-tag.js +1 -1
  19. package/dist/runtime/html/AsyncStream.js +4 -4
  20. package/dist/runtime/vdom/AsyncVDOMBuilder.js +14 -14
  21. package/dist/runtime/vdom/VComponent.js +2 -2
  22. package/dist/runtime/vdom/VElement.js +1 -1
  23. package/dist/runtime/vdom/VFragment.js +1 -1
  24. package/dist/runtime/vdom/VNode.js +1 -1
  25. package/dist/runtime/vdom/morphdom/index.js +17 -17
  26. package/package.json +3 -3
  27. package/src/compiler/modules.js +1 -1
  28. package/src/core-tags/components/preserve-tag.js +81 -0
  29. package/src/core-tags/core/await/renderer.js +1 -1
  30. package/src/runtime/helpers/dynamic-tag.js +1 -1
  31. package/dist/core-tags/components/preserve-tag/index-browser.js +0 -45
  32. package/dist/core-tags/components/preserve-tag/index.js +0 -27
  33. package/dist/core-tags/components/preserve-tag/package.json +0 -11
  34. package/src/core-tags/components/preserve-tag/index-browser.js +0 -45
  35. package/src/core-tags/components/preserve-tag/index.js +0 -27
  36. package/src/core-tags/components/preserve-tag/package.json +0 -11
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
- if (typeof window === "undefined") {
3
+ if (typeof document === "undefined") {
4
4
  exports.require = require;
5
5
  }
@@ -0,0 +1,81 @@
1
+ "use strict";var ComponentsContext = require("../../runtime/components/ComponentsContext");
2
+ var getComponentsContext = ComponentsContext.e_;
3
+
4
+ module.exports = function render(input, out) {
5
+ var isComponent = !input.n;
6
+ var shouldPreserve = !("i" in input) || input.i;
7
+ var componentsContext = out.b_;
8
+
9
+ if (typeof document === "object") {
10
+ var isHydrate =
11
+ componentsContext && componentsContext.f_.g_;
12
+ var ownerComponent = out.h_.i_;
13
+ var referenceComponent = ownerComponent;
14
+ var key = out.j_;
15
+ var checkKey = key;
16
+
17
+ if (key[0] !== "@") {
18
+ var parentComponent = componentsContext.k_.i_;
19
+ if (ownerComponent !== parentComponent) {
20
+ referenceComponent = parentComponent;
21
+ checkKey += ":" + ownerComponent.id;
22
+ }
23
+ }
24
+
25
+ var isPreserved =
26
+ shouldPreserve && (
27
+ isHydrate || referenceComponent.l_[checkKey]);
28
+
29
+ if (isComponent) {
30
+ out.bf(key, ownerComponent, shouldPreserve);
31
+
32
+ if (!isPreserved && input.renderBody) {
33
+ input.renderBody(out);
34
+ }
35
+
36
+ out.ef();
37
+ } else {
38
+ if (isPreserved) {
39
+ if (input.b) {
40
+ out.m_.n_ = true;
41
+ } else {
42
+ out.beginElement("", null, key, ownerComponent);
43
+ out.m_.o_ = true;
44
+ out.endElement();
45
+ }
46
+ } else if (input.renderBody) {
47
+ input.renderBody(out);
48
+ }
49
+ }
50
+ } else {
51
+ if (isComponent) {
52
+ out.bf(
53
+ out.j_,
54
+ out.h_.i_,
55
+ true);
56
+
57
+ }
58
+
59
+ if (input.renderBody) {
60
+ if (shouldPreserve) {
61
+ var parentPreserved = false;
62
+
63
+ if (componentsContext) {
64
+ parentPreserved = componentsContext.p_;
65
+ } else {
66
+ componentsContext = getComponentsContext(out);
67
+ }
68
+
69
+ componentsContext.p_ = true;
70
+ input.renderBody(out);
71
+ componentsContext.p_ = parentPreserved;
72
+ } else {
73
+ input.renderBody(out);
74
+ }
75
+ }
76
+
77
+ if (isComponent) {
78
+ out.ef();
79
+ }
80
+ }
81
+ };
@@ -81,7 +81,7 @@ const LAST_OPTIONS = { last: true, name: "await:finish" };
81
81
 
82
82
  module.exports = function awaitTag(input, out) {
83
83
  var clientReorder =
84
- typeof window === "undefined" &&
84
+ typeof document === "undefined" &&
85
85
  input.clientReorder === true &&
86
86
  !out.isVDOM;
87
87
 
@@ -37,7 +37,7 @@ var proto = RenderResult.prototype = {
37
37
  var components = [];
38
38
 
39
39
  componentDefs.forEach(function (componentDef) {
40
- var component = componentDef.h_;
40
+ var component = componentDef.i_;
41
41
  if (!selector || selector(component)) {
42
42
  components.push(component);
43
43
  }
@@ -6,7 +6,7 @@
6
6
  var domInsert = require("../dom-insert");
7
7
  var defaultCreateOut = require("../createOut");
8
8
  var getComponentsContext =
9
- require("./ComponentsContext").o_;
9
+ require("./ComponentsContext").e_;
10
10
  var componentsUtil = require("./util");
11
11
  var componentLookup = componentsUtil.D_;
12
12
  var destroyNodeRecursive = componentsUtil.E_;
@@ -189,10 +189,10 @@ function Component(id) {
189
189
  var ssrKeyedElements = keyedElementsByComponentId[id];
190
190
 
191
191
  if (ssrKeyedElements) {
192
- this.k_ = ssrKeyedElements;
192
+ this.l_ = ssrKeyedElements;
193
193
  delete keyedElementsByComponentId[id];
194
194
  } else {
195
- this.k_ = {};
195
+ this.l_ = {};
196
196
  }
197
197
  }
198
198
 
@@ -248,7 +248,7 @@ Component.prototype = componentProto = {
248
248
  getEl: function (key, index) {
249
249
  if (key) {
250
250
  var keyedElement =
251
- this.k_["@" + resolveKeyHelper(key, index)];
251
+ this.l_["@" + resolveKeyHelper(key, index)];
252
252
 
253
253
  // eslint-disable-next-line no-constant-condition
254
254
 
@@ -280,7 +280,7 @@ Component.prototype = componentProto = {
280
280
  return els;
281
281
  },
282
282
  getComponent: function (key, index) {
283
- var rootNode = this.k_["@" + resolveKeyHelper(key, index)];
283
+ var rootNode = this.l_["@" + resolveKeyHelper(key, index)];
284
284
  // eslint-disable-next-line no-constant-condition
285
285
 
286
286
 
@@ -293,7 +293,7 @@ Component.prototype = componentProto = {
293
293
  return rootNode && componentsByDOMNode.get(rootNode);
294
294
  },
295
295
  getComponents: function (key) {
296
- var lookup = this.k_["@" + key + "[]"];
296
+ var lookup = this.l_["@" + key + "[]"];
297
297
  return lookup ?
298
298
  Object.keys(lookup).
299
299
  map(function (key) {
@@ -324,7 +324,7 @@ Component.prototype = componentProto = {
324
324
  root.detached = true;
325
325
 
326
326
  delete componentLookup[this.id];
327
- this.k_ = {};
327
+ this.l_ = {};
328
328
  },
329
329
 
330
330
  ___: function () {
@@ -544,9 +544,9 @@ Component.prototype = componentProto = {
544
544
  out[CONTEXT_KEY] = this._i_;
545
545
 
546
546
  var componentsContext = getComponentsContext(out);
547
- var globalComponentsContext = componentsContext.e_;
547
+ var globalComponentsContext = componentsContext.f_;
548
548
  globalComponentsContext._r_ = this;
549
- globalComponentsContext.f_ = isHydrate;
549
+ globalComponentsContext.g_ = isHydrate;
550
550
 
551
551
  renderer(input, out);
552
552
 
@@ -19,7 +19,7 @@ var FLAG_HAS_RENDER_BODY = 2;
19
19
  */
20
20
  function ComponentDef(component, componentId, componentsContext) {
21
21
  this._F_ = componentsContext; // The AsyncWriter that this component is associated with
22
- this.h_ = component;
22
+ this.i_ = component;
23
23
  this.id = componentId;
24
24
 
25
25
  this._G_ = undefined; // An array of DOM events that need to be added (in sets of three)
@@ -80,7 +80,7 @@ ComponentDef.prototype = {
80
80
  },
81
81
 
82
82
  get _O_() {
83
- return this.h_._O_;
83
+ return this.i_._O_;
84
84
  }
85
85
  };
86
86
 
@@ -146,7 +146,7 @@ ComponentDef._P_ = function (o, types, global, registry) {
146
146
 
147
147
  return {
148
148
  id: id,
149
- h_: component,
149
+ i_: component,
150
150
  _G_: extra.d,
151
151
  _J_: extra.f || 0
152
152
  };
@@ -6,8 +6,8 @@ function ComponentsContext(out, parentComponentsContext) {
6
6
  var componentDef;
7
7
 
8
8
  if (parentComponentsContext) {
9
- globalComponentsContext = parentComponentsContext.e_;
10
- componentDef = parentComponentsContext.j_;
9
+ globalComponentsContext = parentComponentsContext.f_;
10
+ componentDef = parentComponentsContext.k_;
11
11
 
12
12
  var nestedContextsForParent;
13
13
  if (
@@ -25,10 +25,10 @@ function ComponentsContext(out, parentComponentsContext) {
25
25
  }
26
26
  }
27
27
 
28
- this.e_ = globalComponentsContext;
28
+ this.f_ = globalComponentsContext;
29
29
  this.b_ = [];
30
30
  this.z_ = out;
31
- this.j_ = componentDef;
31
+ this.k_ = componentDef;
32
32
  this._R_ = undefined;
33
33
  this.p_ =
34
34
  parentComponentsContext && parentComponentsContext.p_;
@@ -56,4 +56,4 @@ function getComponentsContext(out) {
56
56
 
57
57
  module.exports = exports = ComponentsContext;
58
58
 
59
- exports.o_ = getComponentsContext;
59
+ exports.e_ = getComponentsContext;
@@ -15,7 +15,7 @@ function ensure(state, propertyName) {
15
15
  }
16
16
 
17
17
  function State(component) {
18
- this.h_ = component;
18
+ this.i_ = component;
19
19
  this._v_ = {};
20
20
 
21
21
  this.W_ = false;
@@ -84,7 +84,7 @@ State.prototype = {
84
84
  this._m_ = rawState;
85
85
  this._v_ = rawState = extend({}, rawState);
86
86
  this._l_ = {};
87
- this.h_._f_();
87
+ this.i_._f_();
88
88
  }
89
89
 
90
90
  this._l_[name] = value;
@@ -7,17 +7,17 @@ key,
7
7
  ownerComponentDef)
8
8
  {
9
9
  var componentId = component.id;
10
- var componentDef = componentsContext.j_ = new ComponentDef(
10
+ var componentDef = componentsContext.k_ = new ComponentDef(
11
11
  component,
12
12
  componentId,
13
13
  componentsContext);
14
14
 
15
- componentsContext.e_._V_[
15
+ componentsContext.f_._V_[
16
16
  componentId] =
17
17
  true;
18
18
  componentsContext.b_.push(componentDef);
19
19
 
20
20
  var out = componentsContext.z_;
21
- out.bc(component, key, ownerComponentDef && ownerComponentDef.h_);
21
+ out.bc(component, key, ownerComponentDef && ownerComponentDef.i_);
22
22
  return componentDef;
23
23
  };
@@ -15,7 +15,7 @@ isImplicitComponent)
15
15
  {
16
16
  var componentId = component.id;
17
17
 
18
- var componentDef = componentsContext.j_ = new ComponentDef(
18
+ var componentDef = componentsContext.k_ = new ComponentDef(
19
19
  component,
20
20
  componentId,
21
21
  componentsContext);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var ComponentsContext = require("../ComponentsContext");
4
- var getComponentsContext = ComponentsContext.o_;
4
+ var getComponentsContext = ComponentsContext.e_;
5
5
 
6
6
  module.exports = function endComponent(out, componentDef) {
7
7
  if (componentDef._I_) {
@@ -63,7 +63,7 @@ function addComponentsFromContext(componentsContext, componentsToHydrate) {
63
63
  for (var i = 0; i < len; i++) {
64
64
  var componentDef = components[i];
65
65
  var id = componentDef.id;
66
- var component = componentDef.h_;
66
+ var component = componentDef.i_;
67
67
  var flags = componentDef._J_;
68
68
  var input = component.input || 0;
69
69
  var typeName = component.typeName;
@@ -186,7 +186,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
186
186
  ownerId = parts[1];
187
187
  componentId = parts[0];
188
188
  if (ownerComponent = componentLookup[ownerId]) {
189
- keyedElements = ownerComponent.k_;
189
+ keyedElements = ownerComponent.l_;
190
190
  } else {
191
191
  keyedElements =
192
192
  keyedElementsByComponentId[ownerId] || (
@@ -215,7 +215,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
215
215
  ownerId = markoKey.substring(separatorIndex + 1);
216
216
  markoKey = markoKey.substring(0, separatorIndex);
217
217
  if (ownerComponent = componentLookup[ownerId]) {
218
- keyedElements = ownerComponent.k_;
218
+ keyedElements = ownerComponent.l_;
219
219
  } else {
220
220
  keyedElements =
221
221
  keyedElementsByComponentId[ownerId] || (
@@ -288,7 +288,7 @@ handles)
288
288
  }
289
289
 
290
290
  function initComponent(componentDef, host) {
291
- var component = componentDef.h_;
291
+ var component = componentDef.i_;
292
292
 
293
293
  component.J_();
294
294
  component.Y_ = host;
@@ -308,7 +308,7 @@ function initComponent(componentDef, host) {
308
308
 
309
309
  var eventType = domEventArgs[0];
310
310
  var targetMethodName = domEventArgs[1];
311
- var eventEl = component.k_[domEventArgs[2]];
311
+ var eventEl = component.l_[domEventArgs[2]];
312
312
  var isOnce = domEventArgs[3];
313
313
  var extraArgs = domEventArgs[4];
314
314
 
@@ -524,7 +524,7 @@ function tryHydrateComponent(rawDef, meta, host, runtimeId) {
524
524
 
525
525
  function hydrateComponentAndGetMount(componentDef, host) {
526
526
  var componentId = componentDef.id;
527
- var component = componentDef.h_;
527
+ var component = componentDef.i_;
528
528
  var rootNode = serverComponentRootNodes[componentId];
529
529
  var renderResult;
530
530
 
@@ -552,7 +552,7 @@ function hydrateComponentAndGetMount(componentDef, host) {
552
552
  }
553
553
 
554
554
  function trackComponent(componentDef) {
555
- var component = componentDef.h_;
555
+ var component = componentDef.i_;
556
556
  if (component) {
557
557
  componentLookup[component.id] = component;
558
558
  }
@@ -2,7 +2,7 @@
2
2
  var componentLookup = componentsUtil.D_;
3
3
 
4
4
  var ComponentsContext = require("./ComponentsContext");
5
- var getComponentsContext = ComponentsContext.o_;
5
+ var getComponentsContext = ComponentsContext.e_;
6
6
  var registry = require("./registry");
7
7
  var copyProps = require("raptor-util/copyProps");
8
8
  var isServer = componentsUtil.au_ === true;
@@ -40,8 +40,8 @@ function handleBeginAsync(event) {
40
40
  }
41
41
  // Carry along the component arguments
42
42
  asyncOut.c(
43
- parentOut.g_,
44
- parentOut.i_,
43
+ parentOut.h_,
44
+ parentOut.j_,
45
45
  parentOut.av_);
46
46
 
47
47
  }
@@ -80,17 +80,17 @@ renderingLogic)
80
80
  trackAsyncComponents(out);
81
81
 
82
82
  var componentsContext = getComponentsContext(out);
83
- var globalComponentsContext = componentsContext.e_;
83
+ var globalComponentsContext = componentsContext.f_;
84
84
 
85
85
  var component = globalComponentsContext._r_;
86
86
  var isRerender = component !== undefined;
87
87
  var id;
88
88
  var isExisting;
89
89
  var customEvents;
90
- var parentComponentDef = componentsContext.j_;
91
- var ownerComponentDef = out.g_;
90
+ var parentComponentDef = componentsContext.k_;
91
+ var ownerComponentDef = out.h_;
92
92
  var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
93
- var key = out.i_;
93
+ var key = out.j_;
94
94
 
95
95
  if (component) {
96
96
  // If component is provided then we are currently rendering
@@ -225,7 +225,7 @@ renderingLogic)
225
225
 
226
226
 
227
227
  endComponent(out, componentDef);
228
- componentsContext.j_ = parentComponentDef;
228
+ componentsContext.k_ = parentComponentDef;
229
229
  };
230
230
  }
231
231
 
@@ -51,13 +51,13 @@ function destroyNodeRecursive(node, component) {
51
51
  var key;
52
52
 
53
53
  if (component && (key = keysByDOMNode.get(node))) {
54
- if (node === component.k_[key]) {
54
+ if (node === component.l_[key]) {
55
55
  if (componentsByDOMNode.get(node) && /\[\]$/.test(key)) {
56
- delete component.k_[key][
56
+ delete component.l_[key][
57
57
  componentsByDOMNode.get(node).id];
58
58
 
59
59
  } else {
60
- delete component.k_[key];
60
+ delete component.l_[key];
61
61
  }
62
62
  }
63
63
  }
@@ -18,7 +18,7 @@ extraArgs)
18
18
  {
19
19
  if (handlerMethodName) {
20
20
  if (extraArgs) {
21
- var component = componentDef.h_;
21
+ var component = componentDef.i_;
22
22
  var eventIndex = component._X_++;
23
23
 
24
24
  // If we are not going to be doing a rerender in the browser
@@ -3,7 +3,7 @@
3
3
 
4
4
  var changeCase = require("./_change-case");
5
5
  var ComponentsContext = require("../components/ComponentsContext");
6
- var getComponentsContext = ComponentsContext.o_;
6
+ var getComponentsContext = ComponentsContext.e_;
7
7
  var ComponentDef = require("../components/ComponentDef");
8
8
  var w10NOOP = require("warp10/constants").NOOP;
9
9
  var RENDER_BODY_TO_JSON = function () {
@@ -12,7 +12,7 @@ var RENDER_BODY_TO_JSON = function () {
12
12
 
13
13
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
14
14
  // var FLAG_HAS_RENDER_BODY = 2;
15
- var IS_SERVER = typeof window === "undefined";
15
+ var IS_SERVER = typeof document === "undefined";
16
16
 
17
17
  /**
18
18
  * Helper to render a dynamic tag
@@ -34,7 +34,7 @@ customEvents)
34
34
  }
35
35
 
36
36
  var attrs = getAttrs && getAttrs();
37
- var component = componentDef && componentDef.h_;
37
+ var component = componentDef && componentDef.i_;
38
38
  if (typeof tag === "string") {
39
39
  if (renderBody) {
40
40
  out.aJ_(
@@ -83,7 +83,7 @@ customEvents)
83
83
  if (renderer) {
84
84
  out.c(componentDef, key, customEvents);
85
85
  renderer(attrs, out);
86
- out.g_ = null;
86
+ out.h_ = null;
87
87
  } else {
88
88
  var render = tag && tag.renderBody || tag;
89
89
  var isFn = typeof render === "function";
@@ -104,9 +104,9 @@ customEvents)
104
104
  out.bf(key, component, preserve);
105
105
  if (!isW10NOOP && isFn) {
106
106
  var componentsContext = getComponentsContext(out);
107
- var parentComponentDef = componentsContext.j_;
108
- var globalContext = componentsContext.e_;
109
- componentsContext.j_ = new ComponentDef(
107
+ var parentComponentDef = componentsContext.k_;
108
+ var globalContext = componentsContext.f_;
109
+ componentsContext.k_ = new ComponentDef(
110
110
  component,
111
111
  parentComponentDef.id + "-" + parentComponentDef._M_(key),
112
112
  globalContext);
@@ -119,7 +119,7 @@ customEvents)
119
119
  render(out, attrs);
120
120
  }
121
121
 
122
- componentsContext.j_ = parentComponentDef;
122
+ componentsContext.k_ = parentComponentDef;
123
123
  }
124
124
  out.ef();
125
125
  } else {
@@ -16,5 +16,5 @@ customEvents)
16
16
  input,
17
17
  out);
18
18
 
19
- out.g_ = null;
19
+ out.h_ = null;
20
20
  };
@@ -91,8 +91,8 @@ function AsyncStream(global, writer, parentOut) {
91
91
 
92
92
  this.b_ = null; // ComponentsContext
93
93
 
94
- this.g_ = null;
95
- this.i_ = null;
94
+ this.h_ = null;
95
+ this.j_ = null;
96
96
  this.av_ = null;
97
97
  this.aN_ = false;
98
98
  }
@@ -650,8 +650,8 @@ var proto = AsyncStream.prototype = {
650
650
  },
651
651
 
652
652
  c: function (componentDef, key, customEvents) {
653
- this.g_ = componentDef;
654
- this.i_ = key;
653
+ this.h_ = componentDef;
654
+ this.j_ = key;
655
655
  this.av_ = customEvents;
656
656
  }
657
657
  };
@@ -39,15 +39,15 @@ function AsyncVDOMBuilder(globalData, parentNode, parentOut) {
39
39
 
40
40
  this.data = {};
41
41
  this.K_ = state;
42
- this.l_ = parentNode;
42
+ this.m_ = parentNode;
43
43
  this.global = globalData || {};
44
44
  this.bl_ = [parentNode];
45
45
  this.bm_ = false;
46
46
  this.bn_ = undefined;
47
47
  this.b_ = null;
48
48
 
49
- this.g_ = null;
50
- this.i_ = null;
49
+ this.h_ = null;
50
+ this.j_ = null;
51
51
  this.av_ = null;
52
52
  }
53
53
 
@@ -66,10 +66,10 @@ var proto = AsyncVDOMBuilder.prototype = {
66
66
  },
67
67
 
68
68
  bo_: function (child, childCount, pushToStack) {
69
- this.l_.bp_(child);
69
+ this.m_.bp_(child);
70
70
  if (pushToStack === true) {
71
71
  this.bl_.push(child);
72
- this.l_ = child;
72
+ this.m_ = child;
73
73
  }
74
74
  return childCount === 0 ? this : child;
75
75
  },
@@ -92,7 +92,7 @@ var proto = AsyncVDOMBuilder.prototype = {
92
92
  tagName,
93
93
  attrsHelper(attrs),
94
94
  key,
95
- componentDef.h_,
95
+ componentDef.i_,
96
96
  0,
97
97
  0,
98
98
  props);
@@ -110,7 +110,7 @@ var proto = AsyncVDOMBuilder.prototype = {
110
110
  },
111
111
 
112
112
  node: function (node) {
113
- this.l_.bp_(node);
113
+ this.m_.bp_(node);
114
114
  return this;
115
115
  },
116
116
 
@@ -129,7 +129,7 @@ var proto = AsyncVDOMBuilder.prototype = {
129
129
  text = text.toString();
130
130
  }
131
131
 
132
- this.l_.bp_(new VText(text, ownerComponent));
132
+ this.m_.bp_(new VText(text, ownerComponent));
133
133
  return this;
134
134
  },
135
135
 
@@ -169,7 +169,7 @@ var proto = AsyncVDOMBuilder.prototype = {
169
169
  tagName,
170
170
  attrsHelper(attrs),
171
171
  key,
172
- componentDef.h_,
172
+ componentDef.i_,
173
173
  0,
174
174
  0,
175
175
  props);
@@ -189,11 +189,11 @@ var proto = AsyncVDOMBuilder.prototype = {
189
189
  endElement: function () {
190
190
  var stack = this.bl_;
191
191
  stack.pop();
192
- this.l_ = stack[stack.length - 1];
192
+ this.m_ = stack[stack.length - 1];
193
193
  },
194
194
 
195
195
  end: function () {
196
- this.l_ = undefined;
196
+ this.m_ = undefined;
197
197
 
198
198
  var remaining = --this.bh_;
199
199
  var parentOut = this.bk_;
@@ -283,7 +283,7 @@ var proto = AsyncVDOMBuilder.prototype = {
283
283
 
284
284
  this.bh_++;
285
285
 
286
- var documentFragment = this.l_.bu_();
286
+ var documentFragment = this.m_.bu_();
287
287
  var asyncOut = new AsyncVDOMBuilder(this.global, documentFragment, this);
288
288
 
289
289
  state.be_.emit("beginAsync", {
@@ -435,8 +435,8 @@ var proto = AsyncVDOMBuilder.prototype = {
435
435
  isVDOM: true,
436
436
 
437
437
  c: function (componentDef, key, customEvents) {
438
- this.g_ = componentDef;
439
- this.i_ = key;
438
+ this.h_ = componentDef;
439
+ this.j_ = key;
440
440
  this.av_ = customEvents;
441
441
  }
442
442
  };
@@ -4,8 +4,8 @@ var inherit = require("raptor-util/inherit");
4
4
  function VComponent(component, key, ownerComponent, preserve) {
5
5
  this.bx_(null /* childCount */, ownerComponent);
6
6
  this.by_ = key;
7
- this.h_ = component;
8
- this.n_ = preserve;
7
+ this.i_ = component;
8
+ this.o_ = preserve;
9
9
  }
10
10
 
11
11
  VComponent.prototype = {
@@ -100,8 +100,8 @@ props)
100
100
  this.bF_ = tagName;
101
101
  this.bG_ = null;
102
102
  this.bH_ = constId;
103
+ this.o_ = false;
103
104
  this.n_ = false;
104
- this.m_ = false;
105
105
  }
106
106
 
107
107
  VElement.prototype = {
@@ -8,7 +8,7 @@ var createFragmentNode = require("./morphdom/fragment").ap_;
8
8
  function VFragment(key, ownerComponent, preserve) {
9
9
  this.bx_(null /* childCount */, ownerComponent);
10
10
  this.by_ = key;
11
- this.n_ = preserve;
11
+ this.o_ = preserve;
12
12
  }
13
13
 
14
14
  VFragment.prototype = {
@@ -52,7 +52,7 @@ VNode.prototype = {
52
52
  if (child.bR_) {
53
53
  var childValue = child.bS_;
54
54
  this.bG_ = (this.bG_ || "") + childValue;
55
- } else if (child.n_ || child.m_) {
55
+ } else if (child.o_ || child.n_) {
56
56
  this.bT_ = true;
57
57
  } else {
58
58
  throw TypeError();
@@ -62,8 +62,8 @@ function morphdom(fromNode, toNode, host, componentsContext) {
62
62
  var keySequences = Object.create(null);
63
63
 
64
64
  if (componentsContext) {
65
- globalComponentsContext = componentsContext.e_;
66
- isHydrate = globalComponentsContext.f_;
65
+ globalComponentsContext = componentsContext.f_;
66
+ isHydrate = globalComponentsContext.g_;
67
67
  }
68
68
 
69
69
  function insertVirtualNodeBefore(
@@ -83,7 +83,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
83
83
  {
84
84
  if (key) {
85
85
  keysByDOMNode.set(realNode, key);
86
- (isAutoKey(key) ? parentComponent : ownerComponent).k_[
86
+ (isAutoKey(key) ? parentComponent : ownerComponent).l_[
87
87
  key] =
88
88
  realNode;
89
89
  }
@@ -115,7 +115,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
115
115
  if (key && ownerComponent) {
116
116
  key = normalizeComponentKey(key, parentComponent.id);
117
117
  addComponentRootToKeyedElements(
118
- ownerComponent.k_,
118
+ ownerComponent.l_,
119
119
  key,
120
120
  rootNode,
121
121
  component.id);
@@ -175,7 +175,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
175
175
  var referenceComponent;
176
176
 
177
177
  if (curToNodeType === COMPONENT_NODE) {
178
- var component = curToNodeChild.h_;
178
+ var component = curToNodeChild.i_;
179
179
  if (
180
180
  (matchingFromComponent = existingComponentLookup[component.id]) ===
181
181
  undefined)
@@ -191,7 +191,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
191
191
  parentComponent.id);
192
192
 
193
193
  addComponentRootToKeyedElements(
194
- ownerComponent.k_,
194
+ ownerComponent.l_,
195
195
  curToNodeKey,
196
196
  rootNode,
197
197
  component.id);
@@ -242,7 +242,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
242
242
  curFromNodeChild && nextSibling(curFromNodeChild);
243
243
  }
244
244
 
245
- if (!curToNodeChild.n_) {
245
+ if (!curToNodeChild.o_) {
246
246
  morphComponent(component, curToNodeChild);
247
247
  }
248
248
  }
@@ -278,7 +278,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
278
278
 
279
279
  if (curFromNodeKey === curToNodeKey) {
280
280
  // Elements line up. Now we just have to make sure they are compatible
281
- if (!curToNodeChild.n_) {
281
+ if (!curToNodeChild.o_) {
282
282
  // We just skip over the fromNode if it is preserved
283
283
 
284
284
  if (compareNodeNames(curToNodeChild, curVFromNodeChild)) {
@@ -304,7 +304,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
304
304
  }
305
305
  }
306
306
  } else {
307
- matchingFromEl = referenceComponent.k_[curToNodeKey];
307
+ matchingFromEl = referenceComponent.l_[curToNodeKey];
308
308
  if (
309
309
  matchingFromEl === undefined ||
310
310
  matchingFromEl === curFromNodeChild)
@@ -312,7 +312,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
312
312
  if (isHydrate === true && curFromNodeChild) {
313
313
  if (
314
314
  curFromNodeChild.nodeType === ELEMENT_NODE && (
315
- curToNodeChild.n_ ||
315
+ curToNodeChild.o_ ||
316
316
  caseInsensitiveCompare(
317
317
  curFromNodeChild.nodeName,
318
318
  curToNodeChild.bF_ || "")))
@@ -321,10 +321,10 @@ function morphdom(fromNode, toNode, host, componentsContext) {
321
321
  curVFromNodeChild = virtualizeElement(curFromNodeChild);
322
322
  curVFromNodeChild.bF_ = curToNodeChild.bF_;
323
323
  keysByDOMNode.set(curFromNodeChild, curToNodeKey);
324
- referenceComponent.k_[curToNodeKey] =
324
+ referenceComponent.l_[curToNodeKey] =
325
325
  curFromNodeChild;
326
326
 
327
- if (curToNodeChild.n_) {
327
+ if (curToNodeChild.o_) {
328
328
  vElementByDOMNode.set(curFromNodeChild, curVFromNodeChild);
329
329
  } else {
330
330
  morphEl(
@@ -372,11 +372,11 @@ function morphdom(fromNode, toNode, host, componentsContext) {
372
372
 
373
373
  keysByDOMNode.set(fragment, curToNodeKey);
374
374
  vElementByDOMNode.set(fragment, curToNodeChild);
375
- referenceComponent.k_[curToNodeKey] = fragment;
375
+ referenceComponent.l_[curToNodeKey] = fragment;
376
376
  removeChild(curFromNodeChild);
377
377
  removeChild(endNode);
378
378
 
379
- if (!curToNodeChild.n_) {
379
+ if (!curToNodeChild.o_) {
380
380
  morphChildren(fragment, curToNodeChild, parentComponent);
381
381
  }
382
382
 
@@ -401,7 +401,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
401
401
  detachedByDOMNode.set(matchingFromEl, undefined);
402
402
  }
403
403
 
404
- if (!curToNodeChild.n_) {
404
+ if (!curToNodeChild.o_) {
405
405
  curVFromNodeChild = vElementByDOMNode.get(matchingFromEl);
406
406
 
407
407
  if (compareNodeNames(curVFromNodeChild, curToNodeChild)) {
@@ -662,7 +662,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
662
662
 
663
663
  morphAttrs(fromEl, vFromEl, toEl);
664
664
 
665
- if (toEl.m_) {
665
+ if (toEl.n_) {
666
666
  return;
667
667
  }
668
668
 
@@ -681,7 +681,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
681
681
 
682
682
 
683
683
 
684
- morphChildren(fromNode, toNode, toNode.h_);
684
+ morphChildren(fromNode, toNode, toNode.i_);
685
685
 
686
686
  detachedNodes.forEach(function (node) {
687
687
  var detachedFromComponent = detachedByDOMNode.get(node);
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "5.25.2",
3
+ "version": "5.25.3",
4
4
  "license": "MIT",
5
5
  "description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
6
6
  "dependencies": {
7
- "@marko/compiler": "^5.27.2",
8
- "@marko/translator-default": "^5.25.2",
7
+ "@marko/compiler": "^5.27.3",
8
+ "@marko/translator-default": "^5.25.3",
9
9
  "app-module-path": "^2.2.0",
10
10
  "argly": "^1.2.0",
11
11
  "browser-refresh-client": "1.1.4",
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
- if (typeof window === "undefined") {
3
+ if (typeof document === "undefined") {
4
4
  exports.require = require;
5
5
  }
@@ -0,0 +1,81 @@
1
+ var ComponentsContext = require("../../runtime/components/ComponentsContext");
2
+ var getComponentsContext = ComponentsContext.___getComponentsContext;
3
+
4
+ module.exports = function render(input, out) {
5
+ var isComponent = !input.n;
6
+ var shouldPreserve = !("i" in input) || input.i;
7
+ var componentsContext = out.___components;
8
+
9
+ if (typeof document === "object") {
10
+ var isHydrate =
11
+ componentsContext && componentsContext.___globalContext.___isHydrate;
12
+ var ownerComponent = out.___assignedComponentDef.___component;
13
+ var referenceComponent = ownerComponent;
14
+ var key = out.___assignedKey;
15
+ var checkKey = key;
16
+
17
+ if (key[0] !== "@") {
18
+ var parentComponent = componentsContext.___componentDef.___component;
19
+ if (ownerComponent !== parentComponent) {
20
+ referenceComponent = parentComponent;
21
+ checkKey += ":" + ownerComponent.id;
22
+ }
23
+ }
24
+
25
+ var isPreserved =
26
+ shouldPreserve &&
27
+ (isHydrate || referenceComponent.___keyedElements[checkKey]);
28
+
29
+ if (isComponent) {
30
+ out.bf(key, ownerComponent, shouldPreserve);
31
+
32
+ if (!isPreserved && input.renderBody) {
33
+ input.renderBody(out);
34
+ }
35
+
36
+ out.ef();
37
+ } else {
38
+ if (isPreserved) {
39
+ if (input.b) {
40
+ out.___parent.___preserveBody = true;
41
+ } else {
42
+ out.beginElement("", null, key, ownerComponent);
43
+ out.___parent.___preserve = true;
44
+ out.endElement();
45
+ }
46
+ } else if (input.renderBody) {
47
+ input.renderBody(out);
48
+ }
49
+ }
50
+ } else {
51
+ if (isComponent) {
52
+ out.bf(
53
+ out.___assignedKey,
54
+ out.___assignedComponentDef.___component,
55
+ true
56
+ );
57
+ }
58
+
59
+ if (input.renderBody) {
60
+ if (shouldPreserve) {
61
+ var parentPreserved = false;
62
+
63
+ if (componentsContext) {
64
+ parentPreserved = componentsContext.___isPreserved;
65
+ } else {
66
+ componentsContext = getComponentsContext(out);
67
+ }
68
+
69
+ componentsContext.___isPreserved = true;
70
+ input.renderBody(out);
71
+ componentsContext.___isPreserved = parentPreserved;
72
+ } else {
73
+ input.renderBody(out);
74
+ }
75
+ }
76
+
77
+ if (isComponent) {
78
+ out.ef();
79
+ }
80
+ }
81
+ };
@@ -81,7 +81,7 @@ const LAST_OPTIONS = { last: true, name: "await:finish" };
81
81
 
82
82
  module.exports = function awaitTag(input, out) {
83
83
  var clientReorder =
84
- typeof window === "undefined" &&
84
+ typeof document === "undefined" &&
85
85
  input.clientReorder === true &&
86
86
  !out.isVDOM;
87
87
 
@@ -12,7 +12,7 @@ var RENDER_BODY_TO_JSON = function () {
12
12
 
13
13
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
14
14
  // var FLAG_HAS_RENDER_BODY = 2;
15
- var IS_SERVER = typeof window === "undefined";
15
+ var IS_SERVER = typeof document === "undefined";
16
16
 
17
17
  /**
18
18
  * Helper to render a dynamic tag
@@ -1,45 +0,0 @@
1
- "use strict";module.exports = function render(input, out) {
2
- var componentsContext = out.b_;
3
- var isHydrate =
4
- componentsContext && componentsContext.e_.f_;
5
- var ownerComponent = out.g_.h_;
6
- var shouldPreserve = !("i" in input) || input.i;
7
- var referenceComponent = ownerComponent;
8
- var key = out.i_;
9
- var checkKey = key;
10
-
11
- if (key[0] !== "@") {
12
- var parentComponent = componentsContext.j_.h_;
13
- if (ownerComponent !== parentComponent) {
14
- referenceComponent = parentComponent;
15
- checkKey += ":" + ownerComponent.id;
16
- }
17
- }
18
-
19
- var isPreserved = Boolean(
20
- shouldPreserve && (
21
- isHydrate || referenceComponent.k_[checkKey]));
22
-
23
-
24
- if (input.n) {
25
- if (isPreserved) {
26
- if (input.b) {
27
- out.l_.m_ = true;
28
- } else {
29
- out.beginElement("", null, key, ownerComponent);
30
- out.l_.n_ = true;
31
- out.endElement();
32
- }
33
- } else if (input.renderBody) {
34
- input.renderBody(out);
35
- }
36
- } else {
37
- out.bf(key, ownerComponent, shouldPreserve);
38
-
39
- if (!isPreserved && input.renderBody) {
40
- input.renderBody(out);
41
- }
42
-
43
- out.ef();
44
- }
45
- };
@@ -1,27 +0,0 @@
1
- "use strict";var ComponentsContext = require("../../../runtime/components/ComponentsContext");
2
- var getComponentsContext = ComponentsContext.o_;
3
-
4
- module.exports = function render(input, out) {
5
- var shouldPreserve = Boolean(!("i" in input) || input.i);
6
- var isComponent = !input.n;
7
-
8
- if (isComponent) {
9
- out.bf(out.i_, out.g_.h_, true);
10
- }
11
-
12
- if (input.renderBody) {
13
- if (shouldPreserve) {
14
- var componentsContext = getComponentsContext(out);
15
- var parentPreserved = componentsContext.p_;
16
- componentsContext.p_ = true;
17
- input.renderBody(out);
18
- componentsContext.p_ = parentPreserved;
19
- } else {
20
- input.renderBody(out);
21
- }
22
- }
23
-
24
- if (isComponent) {
25
- out.ef();
26
- }
27
- };
@@ -1,11 +0,0 @@
1
- {
2
- "main": "./index.js",
3
- "browser": "./index-browser.js",
4
- "exports": {
5
- ".": {
6
- "worker": "./index.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
9
- }
10
- }
11
- }
@@ -1,45 +0,0 @@
1
- module.exports = function render(input, out) {
2
- var componentsContext = out.___components;
3
- var isHydrate =
4
- componentsContext && componentsContext.___globalContext.___isHydrate;
5
- var ownerComponent = out.___assignedComponentDef.___component;
6
- var shouldPreserve = !("i" in input) || input.i;
7
- var referenceComponent = ownerComponent;
8
- var key = out.___assignedKey;
9
- var checkKey = key;
10
-
11
- if (key[0] !== "@") {
12
- var parentComponent = componentsContext.___componentDef.___component;
13
- if (ownerComponent !== parentComponent) {
14
- referenceComponent = parentComponent;
15
- checkKey += ":" + ownerComponent.id;
16
- }
17
- }
18
-
19
- var isPreserved = Boolean(
20
- shouldPreserve &&
21
- (isHydrate || referenceComponent.___keyedElements[checkKey])
22
- );
23
-
24
- if (input.n) {
25
- if (isPreserved) {
26
- if (input.b) {
27
- out.___parent.___preserveBody = true;
28
- } else {
29
- out.beginElement("", null, key, ownerComponent);
30
- out.___parent.___preserve = true;
31
- out.endElement();
32
- }
33
- } else if (input.renderBody) {
34
- input.renderBody(out);
35
- }
36
- } else {
37
- out.bf(key, ownerComponent, shouldPreserve);
38
-
39
- if (!isPreserved && input.renderBody) {
40
- input.renderBody(out);
41
- }
42
-
43
- out.ef();
44
- }
45
- };
@@ -1,27 +0,0 @@
1
- var ComponentsContext = require("../../../runtime/components/ComponentsContext");
2
- var getComponentsContext = ComponentsContext.___getComponentsContext;
3
-
4
- module.exports = function render(input, out) {
5
- var shouldPreserve = Boolean(!("i" in input) || input.i);
6
- var isComponent = !input.n;
7
-
8
- if (isComponent) {
9
- out.bf(out.___assignedKey, out.___assignedComponentDef.___component, true);
10
- }
11
-
12
- if (input.renderBody) {
13
- if (shouldPreserve) {
14
- var componentsContext = getComponentsContext(out);
15
- var parentPreserved = componentsContext.___isPreserved;
16
- componentsContext.___isPreserved = true;
17
- input.renderBody(out);
18
- componentsContext.___isPreserved = parentPreserved;
19
- } else {
20
- input.renderBody(out);
21
- }
22
- }
23
-
24
- if (isComponent) {
25
- out.ef();
26
- }
27
- };
@@ -1,11 +0,0 @@
1
- {
2
- "main": "./index.js",
3
- "browser": "./index-browser.js",
4
- "exports": {
5
- ".": {
6
- "worker": "./index.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
9
- }
10
- }
11
- }