marko 5.29.2 → 5.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. package/README.md +1 -1
  2. package/bin/markoc.js +18 -18
  3. package/dist/core-tags/core/await/renderer.js +5 -1
  4. package/dist/node_modules/@internal/components-beginComponent/index.js +13 -3
  5. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +331 -0
  6. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  7. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  8. package/dist/node_modules/@internal/components-entry/index-browser.js +2 -2
  9. package/dist/node_modules/@internal/components-entry/index.js +73 -45
  10. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
  11. package/dist/node_modules/@internal/components-entry-legacy/index.js +15 -0
  12. package/dist/node_modules/@internal/components-entry-legacy/package.json +11 -0
  13. package/dist/node_modules/@internal/components-registry/index-browser.js +70 -43
  14. package/dist/node_modules/@internal/components-registry/index.js +2 -2
  15. package/dist/node_modules/@internal/components-util/index-browser.js +17 -17
  16. package/dist/node_modules/@internal/components-util/index.js +18 -8
  17. package/dist/node_modules/@internal/create-readable/index-browser.js +1 -1
  18. package/dist/node_modules/@internal/create-readable/index.js +9 -9
  19. package/dist/node_modules/@internal/set-immediate/index-browser.js +1 -1
  20. package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -2
  21. package/dist/node_modules/@internal/set-immediate/index.js +2 -2
  22. package/dist/runtime/RenderResult.js +3 -3
  23. package/dist/runtime/components/Component.js +146 -148
  24. package/dist/runtime/components/ComponentDef.js +41 -27
  25. package/dist/runtime/components/ComponentsContext.js +6 -6
  26. package/dist/runtime/components/GlobalComponentsContext.js +3 -3
  27. package/dist/runtime/components/KeySequence.js +3 -3
  28. package/dist/runtime/components/ServerComponent.js +13 -13
  29. package/dist/runtime/components/State.js +27 -27
  30. package/dist/runtime/components/attach-detach.js +7 -7
  31. package/dist/runtime/components/defineComponent.js +5 -5
  32. package/dist/runtime/components/dom-data.js +6 -6
  33. package/dist/runtime/components/event-delegation.js +10 -10
  34. package/dist/runtime/components/legacy/browser.json +9 -0
  35. package/dist/runtime/components/legacy/defineComponent-legacy.js +32 -0
  36. package/dist/runtime/components/legacy/defineRenderer-legacy.js +171 -0
  37. package/dist/runtime/components/legacy/defineWidget-legacy.js +1 -0
  38. package/dist/runtime/components/legacy/dependencies/html.js +3 -0
  39. package/dist/runtime/components/legacy/dependencies/index.js +178 -0
  40. package/dist/runtime/components/legacy/dependencies/vdom.js +3 -0
  41. package/dist/runtime/components/legacy/index.js +1 -0
  42. package/dist/runtime/components/legacy/jquery.js +51 -0
  43. package/dist/runtime/components/legacy/ready.js +152 -0
  44. package/dist/runtime/components/legacy/renderer-legacy.js +230 -0
  45. package/dist/runtime/components/renderer.js +30 -26
  46. package/dist/runtime/components/update-manager.js +10 -10
  47. package/dist/runtime/createOut.js +1 -1
  48. package/dist/runtime/dom-insert.js +5 -5
  49. package/dist/runtime/helpers/_change-case.js +2 -2
  50. package/dist/runtime/helpers/dynamic-tag.js +7 -9
  51. package/dist/runtime/helpers/style-value.js +7 -2
  52. package/dist/runtime/html/AsyncStream.js +20 -20
  53. package/dist/runtime/html/BufferedWriter.js +2 -2
  54. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  55. package/dist/runtime/html/helpers/attr.js +19 -6
  56. package/dist/runtime/html/helpers/attrs.js +7 -0
  57. package/dist/runtime/html/helpers/data-marko.js +2 -2
  58. package/dist/runtime/html/helpers/escape-quotes.js +1 -1
  59. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  60. package/dist/runtime/html/helpers/merge-attrs.js +38 -7
  61. package/dist/runtime/html/index.js +2 -2
  62. package/dist/runtime/renderable.js +9 -6
  63. package/dist/runtime/vdom/AsyncVDOMBuilder.js +86 -86
  64. package/dist/runtime/vdom/VComponent.js +3 -3
  65. package/dist/runtime/vdom/VDocumentFragment.js +7 -7
  66. package/dist/runtime/vdom/VElement.js +61 -50
  67. package/dist/runtime/vdom/VFragment.js +8 -8
  68. package/dist/runtime/vdom/VNode.js +36 -36
  69. package/dist/runtime/vdom/VText.js +8 -8
  70. package/dist/runtime/vdom/helpers/attrs.js +24 -4
  71. package/dist/runtime/vdom/helpers/merge-attrs.js +16 -0
  72. package/dist/runtime/vdom/helpers/v-element.js +1 -1
  73. package/dist/runtime/vdom/helpers/v-text.js +1 -1
  74. package/dist/runtime/vdom/hot-reload.js +19 -19
  75. package/dist/runtime/vdom/index.js +2 -2
  76. package/dist/runtime/vdom/morphdom/fragment.js +5 -5
  77. package/dist/runtime/vdom/morphdom/helpers.js +5 -5
  78. package/dist/runtime/vdom/morphdom/index.js +56 -56
  79. package/dist/runtime/vdom/morphdom/specialElHandlers.js +7 -7
  80. package/dist/runtime/vdom/preserve-attrs.js +1 -1
  81. package/dist/runtime/vdom/vdom.js +14 -14
  82. package/docs/10-awesome-marko-features.md +1 -1
  83. package/docs/body-content.md +3 -3
  84. package/docs/class-components.md +6 -6
  85. package/docs/cloudflare-workers.md +3 -3
  86. package/docs/compiler.md +5 -5
  87. package/docs/express.md +2 -2
  88. package/docs/http.md +1 -1
  89. package/docs/koa.md +1 -1
  90. package/docs/lasso.md +1 -1
  91. package/docs/marko-vs-react.md +2 -2
  92. package/docs/rendering.md +6 -6
  93. package/docs/rollup.md +30 -30
  94. package/docs/troubleshooting-streaming.md +1 -1
  95. package/docs/typescript.md +1 -1
  96. package/docs/vite.md +3 -3
  97. package/docs/webpack.md +25 -25
  98. package/docs/why-is-marko-fast.md +2 -2
  99. package/index.d.ts +1 -0
  100. package/legacy-components-browser.marko +15 -0
  101. package/legacy-components.js +7 -0
  102. package/package.json +51 -45
  103. package/src/compiler/config.js +1 -1
  104. package/src/compiler/index.js +5 -5
  105. package/src/core-tags/core/__flush_here_and_after__.js +1 -1
  106. package/src/core-tags/core/await/AsyncValue.js +1 -1
  107. package/src/core-tags/core/await/renderer.js +8 -4
  108. package/src/core-tags/core/await/reorderer-renderer.js +1 -1
  109. package/src/node-require/browser-refresh.js +2 -2
  110. package/src/node-require/index.js +2 -2
  111. package/src/node_modules/@internal/components-beginComponent/index.js +16 -6
  112. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +331 -0
  113. package/src/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  114. package/src/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  115. package/src/node_modules/@internal/components-entry/index.js +65 -37
  116. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
  117. package/src/node_modules/@internal/components-entry-legacy/index.js +15 -0
  118. package/src/node_modules/@internal/components-entry-legacy/package.json +11 -0
  119. package/src/node_modules/@internal/components-registry/index-browser.js +33 -6
  120. package/src/node_modules/@internal/components-util/index.js +10 -0
  121. package/src/runtime/RenderResult.js +3 -3
  122. package/src/runtime/components/Component.js +16 -18
  123. package/src/runtime/components/ComponentDef.js +22 -8
  124. package/src/runtime/components/ComponentsContext.js +1 -1
  125. package/src/runtime/components/State.js +2 -2
  126. package/src/runtime/components/attach-detach.js +1 -1
  127. package/src/runtime/components/dom-data.js +1 -1
  128. package/src/runtime/components/legacy/browser.json +9 -0
  129. package/src/runtime/components/legacy/defineComponent-legacy.js +32 -0
  130. package/src/runtime/components/legacy/defineRenderer-legacy.js +171 -0
  131. package/src/runtime/components/legacy/defineWidget-legacy.js +1 -0
  132. package/src/runtime/components/legacy/dependencies/html.js +3 -0
  133. package/src/runtime/components/legacy/dependencies/index.js +178 -0
  134. package/src/runtime/components/legacy/dependencies/vdom.js +3 -0
  135. package/src/runtime/components/legacy/index.js +1 -0
  136. package/src/runtime/components/legacy/jquery.js +51 -0
  137. package/src/runtime/components/legacy/ready.js +152 -0
  138. package/src/runtime/components/legacy/renderer-legacy.js +230 -0
  139. package/src/runtime/components/renderer.js +4 -0
  140. package/src/runtime/components/update-manager.js +1 -1
  141. package/src/runtime/dom-insert.js +1 -1
  142. package/src/runtime/helpers/dynamic-tag.js +2 -4
  143. package/src/runtime/helpers/style-value.js +7 -2
  144. package/src/runtime/html/AsyncStream.js +5 -5
  145. package/src/runtime/html/BufferedWriter.js +1 -1
  146. package/src/runtime/html/StringWriter.js +1 -1
  147. package/src/runtime/html/helpers/attr.js +15 -2
  148. package/src/runtime/html/helpers/attrs.js +7 -0
  149. package/src/runtime/html/helpers/merge-attrs.js +38 -7
  150. package/src/runtime/html/hot-reload.js +1 -1
  151. package/src/runtime/html/index.js +2 -2
  152. package/src/runtime/renderable.js +5 -2
  153. package/src/runtime/vdom/AsyncVDOMBuilder.js +2 -2
  154. package/src/runtime/vdom/VComponent.js +1 -1
  155. package/src/runtime/vdom/VDocumentFragment.js +1 -1
  156. package/src/runtime/vdom/VElement.js +17 -6
  157. package/src/runtime/vdom/VFragment.js +1 -1
  158. package/src/runtime/vdom/VNode.js +1 -1
  159. package/src/runtime/vdom/VText.js +1 -1
  160. package/src/runtime/vdom/helpers/attrs.js +26 -6
  161. package/src/runtime/vdom/helpers/merge-attrs.js +16 -0
  162. package/src/runtime/vdom/hot-reload.js +1 -1
  163. package/src/runtime/vdom/index.js +2 -2
  164. package/src/runtime/vdom/morphdom/fragment.js +1 -1
  165. package/src/runtime/vdom/morphdom/specialElHandlers.js +1 -1
  166. package/src/taglib/index.js +1 -1
  167. package/tags-html.d.ts +9 -0
@@ -7,6 +7,8 @@ var DEFAULT_RUNTIME_ID = "M";
7
7
 
8
8
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
9
9
  var FLAG_HAS_RENDER_BODY = 2;
10
+ var FLAG_IS_LEGACY = 4;
11
+ var FLAG_OLD_HYDRATE_NO_CREATE = 8;
10
12
 
11
13
  function safeJSONReplacer(match) {
12
14
  if (match === "</") {
@@ -65,66 +67,92 @@ function addComponentsFromContext(componentsContext, componentsToHydrate) {
65
67
  var id = componentDef.id;
66
68
  var component = componentDef.i_;
67
69
  var flags = componentDef.C_;
70
+ var isLegacy = componentDef.F_;
71
+
72
+ var state = component.state;
68
73
  var input = component.input || 0;
69
74
  var typeName = component.typeName;
70
- var customEvents = component.G_;
71
- var scope = component.H_;
72
- var bubblingDomEvents = component.I_;
75
+ var customEvents = component.___;
76
+ var scope = component._a_;
77
+ var bubblingDomEvents = component._b_;
73
78
 
74
- var state;
79
+ var needsState;
75
80
  var serializedProps;
76
- var undefinedPropNames;
81
+ var renderBody;
77
82
 
78
- if (flags & FLAG_WILL_RERENDER_IN_BROWSER) {
79
- if (typeof input.renderBody === "function") {
80
- flags |= FLAG_HAS_RENDER_BODY;
81
- input.renderBody = undefined;
83
+ if (isLegacy) {
84
+ flags |= FLAG_IS_LEGACY;
85
+ renderBody = component._c_;
86
+
87
+ if (component.widgetConfig && isNotEmpty(component.widgetConfig)) {
88
+ serializedProps = component.widgetConfig;
82
89
  }
90
+
91
+ needsState = true;
83
92
  } else {
84
- if (component.state) {
85
- state = component.state;
86
- // Update state properties with an `undefined` value to have a `null`
87
- // value so that the property name will be serialized down to the browser.
88
- // This ensures that we add the proper getter/setter for the state property.
89
- const stateKeys = Object.keys(state);
90
- for (let i = stateKeys.length; i--;) {
91
- const stateKey = stateKeys[i];
92
-
93
- if (state[stateKey] === undefined) {
94
- if (undefinedPropNames) {
95
- undefinedPropNames.push(stateKey);
96
- } else {
97
- undefinedPropNames = [stateKey];
98
- }
99
- }
93
+ if (input && input.renderBody) {
94
+ renderBody = input.renderBody;
95
+ input.renderBody = undefined;
96
+ }
97
+
98
+ if (
99
+ !(flags & FLAG_WILL_RERENDER_IN_BROWSER) ||
100
+ flags & FLAG_OLD_HYDRATE_NO_CREATE)
101
+ {
102
+ component.G_ = undefined; // We don't use `delete` to avoid V8 deoptimization
103
+ component.U_ = undefined; // We don't use `delete` to avoid V8 deoptimization
104
+ component.typeName = undefined;
105
+ component.id = undefined;
106
+ component.___ = undefined;
107
+ component._a_ = undefined;
108
+ component._b_ = undefined;
109
+ component._d_ = undefined;
110
+ component._e_ = undefined;
111
+ component._f_ = undefined;
112
+
113
+ needsState = true;
114
+
115
+ if (isNotEmpty(component)) {
116
+ serializedProps = component;
100
117
  }
101
118
  }
119
+ }
102
120
 
103
- component.J_ = undefined; // We don't use `delete` to avoid V8 deoptimization
104
- component.K_ = undefined; // We don't use `delete` to avoid V8 deoptimization
105
- component.typeName = undefined;
106
- component.id = undefined;
107
- component.G_ = undefined;
108
- component.H_ = undefined;
109
- component.I_ = undefined;
110
- component.L_ = undefined;
111
- component.M_ = undefined;
112
- component.N_ = undefined;
113
-
114
- if (isNotEmpty(component)) {
115
- serializedProps = component;
121
+ var undefinedPropNames = undefined;
122
+
123
+ if (needsState && state) {
124
+ // Update state properties with an `undefined` value to have a `null`
125
+ // value so that the property name will be serialized down to the browser.
126
+ // This ensures that we add the proper getter/setter for the state property.
127
+ const stateKeys = Object.keys(state);
128
+ for (let i = stateKeys.length; i--;) {
129
+ const stateKey = stateKeys[i];
130
+
131
+ if (state[stateKey] === undefined) {
132
+ if (undefinedPropNames) {
133
+ undefinedPropNames.push(stateKey);
134
+ } else {
135
+ undefinedPropNames = [stateKey];
136
+ }
137
+ }
116
138
  }
117
139
  }
118
140
 
141
+ if (typeof renderBody === "function") {
142
+ flags |= FLAG_HAS_RENDER_BODY;
143
+ renderBody = undefined;
144
+ }
145
+
119
146
  var extra = {
120
147
  b: bubblingDomEvents,
121
- d: componentDef.O_,
148
+ d: componentDef._g_,
122
149
  e: customEvents,
123
150
  f: flags || undefined,
124
151
  p: customEvents && scope, // Only serialize scope if we need to attach custom events
125
- s: state,
152
+ s: needsState && state,
126
153
  u: undefinedPropNames,
127
- w: serializedProps
154
+ w: serializedProps,
155
+ r: renderBody
128
156
  };
129
157
 
130
158
  var parts = [id, typeName];
@@ -146,7 +174,7 @@ function addComponentsFromContext(componentsContext, componentsToHydrate) {
146
174
  components.length = 0;
147
175
 
148
176
  // Also add any components from nested contexts
149
- var nestedContexts = componentsContext.P_;
177
+ var nestedContexts = componentsContext._h_;
150
178
  if (nestedContexts !== undefined) {
151
179
  nestedContexts.forEach(function (nestedContext) {
152
180
  addComponentsFromContext(nestedContext, componentsToHydrate);
@@ -158,7 +186,7 @@ function getInitComponentsData(out, componentDefs) {
158
186
  const len = componentDefs.length;
159
187
  const $global = out.global;
160
188
  const isLast = $global.d_;
161
- const didSerializeComponents = $global.Q_;
189
+ const didSerializeComponents = $global._i_;
162
190
  const prefix = $global.componentIdPrefix || $global.widgetIdPrefix;
163
191
 
164
192
  if (len === 0) {
@@ -171,7 +199,7 @@ function getInitComponentsData(out, componentDefs) {
171
199
 
172
200
  const TYPE_INDEX = 1;
173
201
  const typesLookup =
174
- $global.R_ || ($global.R_ = new Map());
202
+ $global._j_ || ($global._j_ = new Map());
175
203
  let newTypes;
176
204
 
177
205
  for (let i = 0; i < len; i++) {
@@ -196,7 +224,7 @@ function getInitComponentsData(out, componentDefs) {
196
224
  let serializedGlobals;
197
225
 
198
226
  if (!didSerializeComponents) {
199
- $global.Q_ = true;
227
+ $global._i_ = true;
200
228
  serializedGlobals = getSerializedGlobals($global);
201
229
  }
202
230
 
@@ -0,0 +1,74 @@
1
+ "use strict";var Component = require("../../../runtime/components/Component");
2
+ var loader = require("@internal/loader");
3
+ var getComponentForEl =
4
+ require("@internal/components-util").Y_;
5
+
6
+
7
+
8
+ // expose legacy
9
+ require("@internal/components-registry")._k_ = exports;
10
+ exports.load = function (typeName) {
11
+ return exports.defineWidget(loader(typeName));
12
+ };
13
+
14
+ // legacy api
15
+ exports.defineComponent = require("../../../runtime/components/legacy/defineComponent-legacy");
16
+ exports.defineWidget = require("@internal/components-define-widget-legacy");
17
+ exports.defineRenderer = require("../../../runtime/components/legacy/defineRenderer-legacy");
18
+ exports.makeRenderable = exports.renderable = require("../../../runtime/renderable");
19
+
20
+ // browser only
21
+ var Widget = exports.Widget = Component;
22
+ exports.getWidgetForEl = exports.get = function (elOrId) {
23
+ var el = elOrId;
24
+
25
+ if (typeof elOrId === "string") {
26
+ el = document.getElementById(elOrId);
27
+ }
28
+
29
+ if (el && el.__widget) {
30
+ return el.__widget;
31
+ }
32
+
33
+ return getComponentForEl(el);
34
+ };
35
+ exports.initWidgets =
36
+ require("@internal/components-registry").Z_;
37
+
38
+ // monkey patch Widget
39
+ if (Widget) {
40
+ var WidgetProto = Widget.prototype;
41
+ WidgetProto.setProps = function (newInput) {
42
+ this._l_ = true;
43
+ this._m_(newInput);
44
+ };
45
+ WidgetProto.rerender = function (newInput) {
46
+ if (newInput) {
47
+ this.setProps(newInput);
48
+ }
49
+
50
+ this.forceUpdate();
51
+ this.update();
52
+ };
53
+ }
54
+
55
+ var RenderResult = require("../../../runtime/RenderResult");
56
+
57
+ RenderResult.prototype.getWidget = function () {
58
+ // eslint-disable-next-line no-constant-condition
59
+
60
+
61
+
62
+ return this.getWidgets()[0];
63
+ };
64
+ RenderResult.prototype.getWidgets = function () {
65
+ // eslint-disable-next-line no-constant-condition
66
+
67
+
68
+
69
+ return RenderResult.prototype.getComponents.
70
+ apply(this, arguments).
71
+ filter(function (component) {
72
+ return component.F_;
73
+ });
74
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";var modernMarko = require("@internal/components-entry");
2
+
3
+ // legacy api
4
+ exports.defineComponent = require("../../../runtime/components/legacy/defineComponent-legacy");
5
+ exports.defineWidget = require("@internal/components-define-widget-legacy");
6
+ exports.defineRenderer = require("../../../runtime/components/legacy/defineRenderer-legacy");
7
+ exports.makeRenderable = exports.renderable = require("../../../runtime/renderable");
8
+
9
+ // server only
10
+ exports.writeInitWidgetsCode = modernMarko.writeInitComponentsCode;
11
+ exports.getRenderedWidgets = exports.getRenderedWidgetIds =
12
+ modernMarko.getRenderedComponents;
13
+ exports.getInitWidgetsCode = function (out) {
14
+ return modernMarko.a_(out);
15
+ };
@@ -0,0 +1,11 @@
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
+ }
@@ -4,15 +4,16 @@ var queueMicrotask = require("../../../runtime/queueMicrotask");
4
4
  var defineComponent = require("../../../runtime/components/defineComponent");
5
5
  var eventDelegation = require("../../../runtime/components/event-delegation");
6
6
  var createFragmentNode =
7
- require("../../../runtime/vdom/morphdom/fragment").S_;
7
+ require("../../../runtime/vdom/morphdom/fragment")._n_;
8
8
  var ComponentDef = require("../../../runtime/components/ComponentDef");
9
9
  var domData = require("../../../runtime/components/dom-data");
10
10
  var componentsUtil = require("@internal/components-util");
11
- var componentLookup = componentsUtil.T_;
11
+ var loader = require("@internal/loader");
12
+ var componentLookup = componentsUtil._o_;
12
13
  var addComponentRootToKeyedElements =
13
- componentsUtil.U_;
14
- var keyedElementsByComponentId = domData.V_;
15
- var componentsByDOMNode = domData.W_;
14
+ componentsUtil._p_;
15
+ var keyedElementsByComponentId = domData._q_;
16
+ var componentsByDOMNode = domData._r_;
16
17
  var serverComponentRootNodes = {};
17
18
  var serverRenderedMeta = {};
18
19
  var win = window;
@@ -72,13 +73,23 @@ function addPendingDef(def, type, meta, host, runtimeId) {
72
73
 
73
74
  }
74
75
 
75
- function load(typeName) {
76
+ function load(typeName, isLegacy) {
76
77
  var target = loaded[typeName];
77
78
  if (!target) {
78
79
  target = registered[typeName];
79
80
 
80
81
  if (target) {
81
82
  target = target();
83
+ } else if (isLegacy) {
84
+ target = exports._k_.load(typeName);
85
+ } else {
86
+ target = loader(typeName);
87
+ // eslint-disable-next-line no-constant-condition
88
+
89
+
90
+
91
+
92
+
82
93
  }
83
94
 
84
95
  if (!target) {
@@ -91,23 +102,23 @@ function load(typeName) {
91
102
  return target;
92
103
  }
93
104
 
94
- function getComponentClass(typeName) {
105
+ function getComponentClass(typeName, isLegacy) {
95
106
  var ComponentClass = componentTypes[typeName];
96
107
 
97
108
  if (ComponentClass) {
98
109
  return ComponentClass;
99
110
  }
100
111
 
101
- ComponentClass = load(typeName);
112
+ ComponentClass = load(typeName, isLegacy);
102
113
 
103
114
  ComponentClass = ComponentClass.Component || ComponentClass;
104
115
 
105
- if (!ComponentClass.X_) {
116
+ if (!ComponentClass.E_) {
106
117
  ComponentClass = defineComponent(ComponentClass, ComponentClass.renderer);
107
118
  }
108
119
 
109
120
  // Make the component "type" accessible on each component instance
110
- ComponentClass.prototype.Y_ = typeName;
121
+ ComponentClass.prototype._s_ = typeName;
111
122
 
112
123
  // eslint-disable-next-line no-constant-condition
113
124
 
@@ -131,6 +142,7 @@ function getComponentClass(typeName) {
131
142
 
132
143
 
133
144
 
145
+
134
146
 
135
147
 
136
148
  componentTypes[typeName] = ComponentClass;
@@ -138,8 +150,8 @@ function getComponentClass(typeName) {
138
150
  return ComponentClass;
139
151
  }
140
152
 
141
- function createComponent(typeName, id) {
142
- var ComponentClass = getComponentClass(typeName);
153
+ function createComponent(typeName, id, isLegacy) {
154
+ var ComponentClass = getComponentClass(typeName, isLegacy);
143
155
  return new ComponentClass(id);
144
156
  }
145
157
 
@@ -209,7 +221,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
209
221
  } else if (node.nodeType === 1) {
210
222
  // HTML element node
211
223
  var markoKey = node.getAttribute("data-marko-key");
212
- var markoProps = componentsUtil.Z_(node);
224
+ var markoProps = componentsUtil._t_(node);
213
225
  if (markoKey) {
214
226
  var separatorIndex = markoKey.indexOf(" ");
215
227
  ownerId = markoKey.substring(separatorIndex + 1);
@@ -226,7 +238,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
226
238
  if (markoProps) {
227
239
  Object.keys(markoProps).forEach(function (key) {
228
240
  if (key.slice(0, 2) === "on") {
229
- eventDelegation.___(key.slice(2));
241
+ eventDelegation._u_(key.slice(2));
230
242
  }
231
243
  });
232
244
  }
@@ -290,16 +302,20 @@ handles)
290
302
  function initComponent(componentDef, host) {
291
303
  var component = componentDef.i_;
292
304
 
293
- component._a_();
294
- component._b_ = host;
305
+ if (!component || !component.E_) {
306
+ return; // legacy
307
+ }
308
+
309
+ component._v_();
310
+ component.I_ = host;
295
311
 
296
- var isExisting = componentDef._c_;
312
+ var isExisting = componentDef._w_;
297
313
 
298
314
  if (isExisting) {
299
- component._d_();
315
+ component._x_();
300
316
  }
301
317
 
302
- var domEvents = componentDef.O_;
318
+ var domEvents = componentDef._g_;
303
319
  if (domEvents) {
304
320
  var eventListenerHandles = [];
305
321
 
@@ -324,15 +340,15 @@ function initComponent(componentDef, host) {
324
340
  });
325
341
 
326
342
  if (eventListenerHandles.length) {
327
- component._e_ = eventListenerHandles;
343
+ component._y_ = eventListenerHandles;
328
344
  }
329
345
  }
330
346
 
331
- if (component._f_) {
332
- component._g_();
347
+ if (component._z_) {
348
+ component._A_();
333
349
  } else {
334
- component._f_ = true;
335
- component._h_();
350
+ component._z_ = true;
351
+ component._B_();
336
352
  }
337
353
  }
338
354
 
@@ -348,7 +364,7 @@ function initClientRendered(componentDefs, host) {
348
364
  if (!host) host = document;
349
365
  // Ensure that event handlers to handle delegating events are
350
366
  // always attached before initializing any components
351
- eventDelegation._i_(host);
367
+ eventDelegation._C_(host);
352
368
  var len = componentDefs.length;
353
369
  var componentDef;
354
370
  var i;
@@ -461,15 +477,15 @@ function initServerRendered(renderedComponents, host) {
461
477
  // Ensure that event handlers to handle delegating events are
462
478
  // always attached before initializing any components
463
479
  indexServerComponentBoundaries(host, runtimeId);
464
- eventDelegation._i_(host);
480
+ eventDelegation._C_(host);
465
481
 
466
482
  if (renderedComponents.g) {
467
- meta._j_ = renderedComponents.g;
483
+ meta._D_ = renderedComponents.g;
468
484
  }
469
485
 
470
486
  if (renderedComponents.t) {
471
- meta._k_ = meta._k_ ?
472
- meta._k_.concat(renderedComponents.t) :
487
+ meta._E_ = meta._E_ ?
488
+ meta._E_.concat(renderedComponents.t) :
473
489
  renderedComponents.t;
474
490
  }
475
491
 
@@ -477,11 +493,22 @@ function initServerRendered(renderedComponents, host) {
477
493
  // and return an array of functions to mount these components
478
494
  (renderedComponents.w || []).
479
495
  map(function (componentDef) {
480
- var typeName = meta._k_[componentDef[1]];
496
+ var typeName = meta._E_[componentDef[1]];
497
+
498
+ return (
499
+ registered[typeName] ||
500
+ document.readyState === "complete" ||
501
+
502
+ // loader.runtime is only going to exist for lasso apps
503
+ // this code is used to detect if a module was registered
504
+ // via a browser.json but not executed.
505
+ loader.runtime &&
506
+ loader.runtime.resolve &&
507
+ loader.runtime.resolve(typeName) ?
508
+
481
509
 
482
- return registered[typeName] ?
483
- tryHydrateComponent(componentDef, meta, host, runtimeId) :
484
- addPendingDef(componentDef, typeName, meta, host, runtimeId);
510
+ tryHydrateComponent(componentDef, meta, host, runtimeId) :
511
+ addPendingDef(componentDef, typeName, meta, host, runtimeId));
485
512
  }).
486
513
  reverse().
487
514
  forEach(tryInvoke);
@@ -490,10 +517,10 @@ function initServerRendered(renderedComponents, host) {
490
517
  }
491
518
 
492
519
  function tryHydrateComponent(rawDef, meta, host, runtimeId) {
493
- var componentDef = ComponentDef._l_(
520
+ var componentDef = ComponentDef._F_(
494
521
  rawDef,
495
- meta._k_,
496
- meta._j_,
522
+ meta._E_,
523
+ meta._D_,
497
524
  exports);
498
525
 
499
526
  var mount = hydrateComponentAndGetMount(componentDef, host);
@@ -531,12 +558,12 @@ function hydrateComponentAndGetMount(componentDef, host) {
531
558
  if (rootNode) {
532
559
  delete serverComponentRootNodes[componentId];
533
560
 
534
- component._m_ = rootNode;
561
+ component._G_ = rootNode;
535
562
  componentsByDOMNode.set(rootNode, component);
536
563
 
537
564
  if (componentDef.C_ & FLAG_WILL_RERENDER_IN_BROWSER) {
538
- component._b_ = host;
539
- renderResult = component._n_(component.K_, true);
565
+ component.I_ = host;
566
+ renderResult = component._H_(component.U_, true);
540
567
  trackComponent(componentDef);
541
568
  return function mount() {
542
569
  renderResult.afterInsert(host);
@@ -563,8 +590,8 @@ function tryInvoke(fn) {
563
590
  }
564
591
 
565
592
  exports.r = register;
566
- exports._o_ = createComponent;
567
- exports._p_ = getComponentClass;
568
- exports.F_ = win.$initComponents = initServerRendered;
593
+ exports._I_ = createComponent;
594
+ exports._J_ = getComponentClass;
595
+ exports.Z_ = win.$initComponents = initServerRendered;
569
596
 
570
- require("../../../runtime/components/ComponentsContext")._q_ = initClientRendered;
597
+ require("../../../runtime/components/ComponentsContext")._K_ = initClientRendered;
@@ -40,5 +40,5 @@ scope)
40
40
  return new ServerComponent(id, input, out, typeName, customEvents, scope);
41
41
  }
42
42
 
43
- exports._r_ = true;
44
- exports._o_ = createComponent;
43
+ exports._L_ = true;
44
+ exports._I_ = createComponent;
@@ -1,8 +1,8 @@
1
1
  "use strict";var domData = require("../../../runtime/components/dom-data");
2
- var componentsByDOMNode = domData.W_;
3
- var keysByDOMNode = domData._s_;
4
- var vElementsByDOMNode = domData._t_;
5
- var vPropsByDOMNode = domData._u_;
2
+ var componentsByDOMNode = domData._r_;
3
+ var keysByDOMNode = domData._M_;
4
+ var vElementsByDOMNode = domData._N_;
5
+ var vPropsByDOMNode = domData._O_;
6
6
  var markoUID = window.$MUID || (window.$MUID = { i: 0 });
7
7
  var runtimeId = markoUID.i++;
8
8
 
@@ -27,7 +27,7 @@ function getComponentForEl(el, host) {
27
27
  component = componentsByDOMNode.get(node);
28
28
  }
29
29
  } else if (vElement = vElementsByDOMNode.get(node)) {
30
- component = vElement._v_;
30
+ component = vElement._P_;
31
31
  }
32
32
 
33
33
  if (component) {
@@ -41,7 +41,7 @@ function getComponentForEl(el, host) {
41
41
  function destroyComponentForNode(node) {
42
42
  var componentToDestroy = componentsByDOMNode.get(node.fragment || node);
43
43
  if (componentToDestroy) {
44
- componentToDestroy._w_();
44
+ componentToDestroy._Q_();
45
45
  delete componentLookup[componentToDestroy.id];
46
46
  }
47
47
  }
@@ -103,7 +103,7 @@ function getMarkoPropsFromEl(el) {
103
103
  var virtualProps;
104
104
 
105
105
  if (vElement) {
106
- virtualProps = vElement._x_;
106
+ virtualProps = vElement._R_;
107
107
  } else {
108
108
  virtualProps = vPropsByDOMNode.get(el);
109
109
  if (!virtualProps) {
@@ -167,13 +167,13 @@ componentId)
167
167
 
168
168
 
169
169
 
170
- exports._y_ = runtimeId;
171
- exports.T_ = componentLookup;
172
- exports.E_ = getComponentForEl;
173
- exports._z_ = destroyComponentForNode;
174
- exports._A_ = destroyNodeRecursive;
175
- exports._B_ = nextComponentIdProvider;
176
- exports._C_ = attachBubblingEvent;
177
- exports.Z_ = getMarkoPropsFromEl;
178
- exports.U_ = addComponentRootToKeyedElements;
179
- exports._D_ = normalizeComponentKey;
170
+ exports._S_ = runtimeId;
171
+ exports._o_ = componentLookup;
172
+ exports.Y_ = getComponentForEl;
173
+ exports._T_ = destroyComponentForNode;
174
+ exports._U_ = destroyNodeRecursive;
175
+ exports._V_ = nextComponentIdProvider;
176
+ exports._W_ = attachBubblingEvent;
177
+ exports._t_ = getMarkoPropsFromEl;
178
+ exports._p_ = addComponentRootToKeyedElements;
179
+ exports._X_ = normalizeComponentKey;
@@ -5,6 +5,16 @@ function nextComponentIdProvider(out) {
5
5
  var prefix = out.global.componentIdPrefix || out.global.widgetIdPrefix || "s"; // "s" is for server (we use "b" for the browser)
6
6
  var nextId = 0;
7
7
 
8
+ // eslint-disable-next-line no-constant-condition
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
8
18
  return function nextComponentId() {
9
19
  return prefix + nextId++;
10
20
  };
@@ -19,7 +29,7 @@ extraArgs)
19
29
  if (handlerMethodName) {
20
30
  if (extraArgs) {
21
31
  var component = componentDef.i_;
22
- var eventIndex = component.L_++;
32
+ var eventIndex = component._d_++;
23
33
 
24
34
  // If we are not going to be doing a rerender in the browser
25
35
  // then we need to actually store the extra args with the UI component
@@ -31,9 +41,9 @@ extraArgs)
31
41
 
32
42
  if (!(componentDef.C_ & FLAG_WILL_RERENDER_IN_BROWSER)) {
33
43
  if (eventIndex === 0) {
34
- component.I_ = [extraArgs];
44
+ component._b_ = [extraArgs];
35
45
  } else {
36
- component.I_.push(extraArgs);
46
+ component._b_.push(extraArgs);
37
47
  }
38
48
  }
39
49
 
@@ -52,10 +62,10 @@ extraArgs)
52
62
  }
53
63
  }
54
64
 
55
- exports._B_ = nextComponentIdProvider;
56
- exports._r_ = true;
57
- exports._C_ = attachBubblingEvent;
58
- exports._z_ = function noop() {};
59
- exports._A_ = function noop() {};
65
+ exports._V_ = nextComponentIdProvider;
66
+ exports._L_ = true;
67
+ exports._W_ = attachBubblingEvent;
68
+ exports._T_ = function noop() {};
69
+ exports._U_ = function noop() {};
60
70
 
61
71
  // eslint-disable-next-line no-constant-condition
@@ -17,7 +17,7 @@ module.exports = function (data) {
17
17
  data && data.$global,
18
18
  facade,
19
19
  undefined,
20
- this._E_);
20
+ this._Y_);
21
21
 
22
22
  out.once("error", (err) => {
23
23
  facade.write = facade.end = noop;