marko 5.29.2 → 5.30.0

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 (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;