marko 4.25.0 → 4.26.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. package/bin/markoc.js +18 -18
  2. package/dist/compiler/CompileContext.js +3 -8
  3. package/dist/core-tags/components/init-components-tag.js +1 -52
  4. package/dist/core-tags/components/package.json +1 -3
  5. package/dist/core-tags/components/preferred-script-location-tag.js +2 -2
  6. package/dist/core-tags/components/preserve-tag.js +1 -27
  7. package/dist/core-tags/core/await/AsyncValue.js +20 -20
  8. package/dist/core-tags/core/await/renderer.js +11 -12
  9. package/dist/core-tags/core/await/reorderer-renderer.js +11 -6
  10. package/dist/index.js +1 -39
  11. package/dist/node-require/index.js +11 -0
  12. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +12 -0
  13. package/dist/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +15 -14
  14. package/dist/node_modules/@internal/components-beginComponent/package.json +11 -0
  15. package/dist/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +47 -47
  16. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  17. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  18. package/dist/node_modules/@internal/components-endComponent/index.js +11 -0
  19. package/dist/node_modules/@internal/components-endComponent/package.json +11 -0
  20. package/dist/node_modules/@internal/components-entry/index-browser.js +9 -0
  21. package/dist/node_modules/@internal/components-entry/index.js +285 -0
  22. package/dist/node_modules/@internal/components-entry/package.json +11 -0
  23. package/dist/{runtime/components/legacy → node_modules/@internal/components-entry-legacy}/index-browser.js +14 -15
  24. package/dist/node_modules/@internal/components-entry-legacy/index.js +14 -0
  25. package/dist/node_modules/@internal/components-entry-legacy/package.json +11 -0
  26. package/dist/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +180 -79
  27. package/dist/node_modules/@internal/components-registry/index.js +34 -0
  28. package/dist/node_modules/@internal/components-registry/package.json +11 -0
  29. package/dist/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +23 -24
  30. package/dist/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +10 -12
  31. package/dist/node_modules/@internal/components-util/package.json +11 -0
  32. package/dist/node_modules/@internal/create-readable/index-browser.js +25 -0
  33. package/dist/node_modules/@internal/create-readable/index.js +52 -0
  34. package/dist/node_modules/@internal/create-readable/package.json +11 -0
  35. package/dist/node_modules/@internal/init-components-tag/index.js +52 -0
  36. package/dist/node_modules/@internal/init-components-tag/package.json +11 -0
  37. package/dist/{loader/index-default.js → node_modules/@internal/loader/index.js} +1 -1
  38. package/dist/node_modules/@internal/loader/package.json +11 -0
  39. package/dist/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +8 -8
  40. package/dist/node_modules/@internal/preserve-tag/index.js +27 -0
  41. package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
  42. package/dist/node_modules/@internal/set-immediate/index-browser.js +17 -0
  43. package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -0
  44. package/dist/node_modules/@internal/set-immediate/index.js +2 -0
  45. package/dist/node_modules/@internal/set-immediate/package.json +11 -0
  46. package/dist/runtime/RenderResult.js +24 -19
  47. package/dist/runtime/components/Component.js +154 -151
  48. package/dist/runtime/components/ComponentDef.js +28 -28
  49. package/dist/runtime/components/ComponentsContext.js +19 -19
  50. package/dist/runtime/components/GlobalComponentsContext.js +4 -4
  51. package/dist/runtime/components/KeySequence.js +3 -3
  52. package/dist/runtime/components/ServerComponent.js +13 -13
  53. package/dist/runtime/components/State.js +28 -28
  54. package/dist/runtime/components/attach-detach.js +9 -9
  55. package/dist/runtime/components/defineComponent.js +5 -5
  56. package/dist/runtime/components/dom-data.js +6 -6
  57. package/dist/runtime/components/event-delegation.js +15 -16
  58. package/dist/runtime/components/index.js +1 -285
  59. package/dist/runtime/components/legacy/browser.json +1 -1
  60. package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
  61. package/dist/runtime/components/legacy/defineRenderer-legacy.js +18 -19
  62. package/dist/runtime/components/legacy/defineWidget-legacy.js +1 -18
  63. package/dist/runtime/components/legacy/dependencies/html.js +1 -1
  64. package/dist/runtime/components/legacy/dependencies/index.js +9 -9
  65. package/dist/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  66. package/dist/runtime/components/legacy/index.js +1 -14
  67. package/dist/runtime/components/legacy/renderer-legacy.js +43 -43
  68. package/dist/runtime/components/registry.js +1 -34
  69. package/dist/runtime/components/renderer.js +38 -38
  70. package/dist/runtime/components/update-manager.js +10 -10
  71. package/dist/runtime/createOut.js +1 -1
  72. package/dist/runtime/dom-insert.js +6 -6
  73. package/dist/runtime/helpers/_change-case.js +2 -2
  74. package/dist/runtime/helpers/assign.js +3 -2
  75. package/dist/runtime/helpers/dynamic-tag.js +14 -16
  76. package/dist/runtime/helpers/load-template.js +1 -1
  77. package/dist/runtime/helpers/merge.js +3 -1
  78. package/dist/runtime/helpers/style-value.js +2 -2
  79. package/dist/runtime/html/AsyncStream.js +61 -52
  80. package/dist/runtime/html/BufferedWriter.js +5 -1
  81. package/dist/runtime/html/StringWriter.js +7 -3
  82. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  83. package/dist/runtime/html/helpers/attr.js +4 -4
  84. package/dist/runtime/html/helpers/attrs.js +3 -3
  85. package/dist/runtime/html/helpers/data-marko.js +4 -6
  86. package/dist/runtime/html/helpers/escape-quotes.js +2 -2
  87. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  88. package/dist/runtime/html/helpers/props-script.js +1 -1
  89. package/dist/runtime/html/index.js +15 -12
  90. package/dist/runtime/renderable.js +5 -5
  91. package/dist/runtime/vdom/AsyncVDOMBuilder.js +102 -103
  92. package/dist/runtime/vdom/VComment.js +7 -7
  93. package/dist/runtime/vdom/VComponent.js +5 -5
  94. package/dist/runtime/vdom/VDocumentFragment.js +8 -8
  95. package/dist/runtime/vdom/VElement.js +55 -54
  96. package/dist/runtime/vdom/VFragment.js +9 -9
  97. package/dist/runtime/vdom/VNode.js +30 -30
  98. package/dist/runtime/vdom/VText.js +7 -7
  99. package/dist/runtime/vdom/helpers/v-element.js +1 -1
  100. package/dist/runtime/vdom/helpers/v-text.js +1 -1
  101. package/dist/runtime/vdom/index.js +12 -22
  102. package/dist/runtime/vdom/morphdom/fragment.js +5 -5
  103. package/dist/runtime/vdom/morphdom/helpers.js +3 -3
  104. package/dist/runtime/vdom/morphdom/index.js +72 -68
  105. package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
  106. package/dist/runtime/vdom/preserve-attrs.js +1 -1
  107. package/dist/runtime/vdom/vdom.js +19 -21
  108. package/docs/body-content.md +2 -2
  109. package/docs/class-components.md +3 -3
  110. package/docs/express.md +1 -1
  111. package/docs/lasso.md +3 -6
  112. package/docs/marko-v4.md +5 -5
  113. package/docs/redux.md +1 -1
  114. package/docs/server-side-rendering.md +2 -2
  115. package/docs/why-is-marko-fast.md +2 -10
  116. package/package.json +1 -1
  117. package/src/browser-refresh.js +2 -2
  118. package/src/compiler/CodeWriter.js +1 -3
  119. package/src/compiler/CompileContext.js +3 -8
  120. package/src/compiler/Compiler.js +4 -4
  121. package/src/compiler/HtmlJsParser.js +1 -1
  122. package/src/compiler/Migrator.js +1 -1
  123. package/src/compiler/Parser.js +3 -3
  124. package/src/compiler/ast/CustomTag.js +9 -11
  125. package/src/compiler/ast/HtmlAttribute/html/generateCode.js +2 -2
  126. package/src/compiler/ast/HtmlAttribute/index.js +1 -1
  127. package/src/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js +1 -1
  128. package/src/compiler/ast/HtmlElement/vdom/generateCode.js +1 -1
  129. package/src/compiler/ast/TemplateRoot.js +1 -1
  130. package/src/compiler/ast/Text/html/generateCode.js +3 -3
  131. package/src/compiler/ast/Text/vdom/generateCode.js +1 -1
  132. package/src/compiler/index.js +4 -4
  133. package/src/compiler/modules.js +4 -4
  134. package/src/compiler/util/finger-print.js +1 -1
  135. package/src/compiler/util/parseExpression.js +1 -1
  136. package/src/compiler/util/parseStatement.js +1 -1
  137. package/src/compiler/util/removeDashes.js +1 -1
  138. package/src/compiler/util/safeVarName.js +1 -1
  139. package/src/compiler/util/tokenizer.js +1 -1
  140. package/src/core-tags/cache/cached-fragment-tag-transformer.js +1 -1
  141. package/src/core-tags/cache/cached-fragment-tag.js +4 -4
  142. package/src/core-tags/cache/default-cache-manager.js +3 -3
  143. package/src/core-tags/components/TransformHelper/ComponentArgsCompiler.js +1 -1
  144. package/src/core-tags/components/TransformHelper/convertToComponent.js +1 -1
  145. package/src/core-tags/components/TransformHelper/handleComponentPreserveAttrs.js +1 -1
  146. package/src/core-tags/components/init-components-tag.js +1 -54
  147. package/src/core-tags/components/package.json +1 -3
  148. package/src/core-tags/components/preferred-script-location-tag.js +1 -1
  149. package/src/core-tags/components/preserve-tag.js +1 -27
  150. package/src/core-tags/components/util/getTransformHelper.js +1 -1
  151. package/src/core-tags/core/await/AsyncValue.js +3 -3
  152. package/src/core-tags/core/await/noop-render.js +1 -1
  153. package/src/core-tags/core/await/renderer.js +8 -7
  154. package/src/core-tags/core/await/reorderer-renderer.js +35 -14
  155. package/src/core-tags/core/await/transformer.js +1 -1
  156. package/src/core-tags/core/core-transformer.js +2 -2
  157. package/src/core-tags/migrate/all-tags/index.js +1 -1
  158. package/src/core-tags/migrate/all-templates/index.js +1 -1
  159. package/src/core-tags/migrate/include-tag.js +3 -2
  160. package/src/core-tags/migrate/util/parseFor.js +3 -2
  161. package/src/core-tags/migrate/util/printJS.js +1 -1
  162. package/src/defineRenderer.js +1 -1
  163. package/src/express.js +1 -1
  164. package/src/hot-reload.js +5 -5
  165. package/src/index.js +1 -41
  166. package/src/legacy-helpers/notEmpty.js +1 -1
  167. package/src/node-require/index.js +12 -1
  168. package/src/{runtime/components/beginComponent-browser.js → node_modules/@internal/components-beginComponent/index-browser.js} +1 -1
  169. package/src/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +3 -2
  170. package/src/node_modules/@internal/components-beginComponent/package.json +11 -0
  171. package/src/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +21 -23
  172. package/src/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  173. package/src/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  174. package/src/{runtime/components/endComponent.js → node_modules/@internal/components-endComponent/index.js} +1 -1
  175. package/src/node_modules/@internal/components-endComponent/package.json +11 -0
  176. package/src/node_modules/@internal/components-entry/index-browser.js +9 -0
  177. package/src/node_modules/@internal/components-entry/index.js +301 -0
  178. package/src/node_modules/@internal/components-entry/package.json +11 -0
  179. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
  180. package/src/node_modules/@internal/components-entry-legacy/index.js +15 -0
  181. package/src/node_modules/@internal/components-entry-legacy/package.json +11 -0
  182. package/src/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +240 -75
  183. package/src/node_modules/@internal/components-registry/index.js +44 -0
  184. package/src/node_modules/@internal/components-registry/package.json +11 -0
  185. package/src/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +11 -10
  186. package/src/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +0 -2
  187. package/src/node_modules/@internal/components-util/package.json +11 -0
  188. package/src/node_modules/@internal/create-readable/index-browser.js +30 -0
  189. package/src/node_modules/@internal/create-readable/index.js +57 -0
  190. package/src/node_modules/@internal/create-readable/package.json +11 -0
  191. package/src/node_modules/@internal/init-components-tag/index.js +54 -0
  192. package/src/node_modules/@internal/init-components-tag/package.json +11 -0
  193. package/src/{loader/index-default.js → node_modules/@internal/loader/index.js} +2 -2
  194. package/src/node_modules/@internal/loader/package.json +11 -0
  195. package/src/node_modules/@internal/preserve-tag/index.js +27 -0
  196. package/src/node_modules/@internal/preserve-tag/package.json +11 -0
  197. package/src/node_modules/@internal/set-immediate/index-browser.js +17 -0
  198. package/src/node_modules/@internal/set-immediate/index-worker.js +2 -0
  199. package/src/node_modules/@internal/set-immediate/index.js +2 -0
  200. package/src/node_modules/@internal/set-immediate/package.json +11 -0
  201. package/src/runtime/RenderResult.js +20 -18
  202. package/src/runtime/components/Component.js +44 -41
  203. package/src/runtime/components/ComponentDef.js +9 -9
  204. package/src/runtime/components/ComponentsContext.js +4 -5
  205. package/src/runtime/components/GlobalComponentsContext.js +2 -1
  206. package/src/runtime/components/KeySequence.js +1 -1
  207. package/src/runtime/components/State.js +6 -6
  208. package/src/runtime/components/attach-detach.js +4 -4
  209. package/src/runtime/components/defineComponent.js +1 -1
  210. package/src/runtime/components/event-delegation.js +10 -10
  211. package/src/runtime/components/index.js +1 -301
  212. package/src/runtime/components/jquery.js +2 -2
  213. package/src/runtime/components/legacy/browser.json +1 -1
  214. package/src/runtime/components/legacy/defineRenderer-legacy.js +5 -6
  215. package/src/runtime/components/legacy/defineWidget-legacy.js +1 -18
  216. package/src/runtime/components/legacy/dependencies/html.js +1 -1
  217. package/src/runtime/components/legacy/dependencies/index.js +3 -3
  218. package/src/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  219. package/src/runtime/components/legacy/index.js +1 -15
  220. package/src/runtime/components/legacy/renderer-legacy.js +7 -7
  221. package/src/runtime/components/ready.js +2 -2
  222. package/src/runtime/components/registry.js +1 -44
  223. package/src/runtime/components/renderer.js +4 -4
  224. package/src/runtime/components/update-manager.js +1 -1
  225. package/src/runtime/dom-insert.js +8 -8
  226. package/src/runtime/helpers/_weak-map.js +2 -2
  227. package/src/runtime/helpers/assign.js +3 -1
  228. package/src/runtime/helpers/bind-component.js +2 -2
  229. package/src/runtime/helpers/dynamic-tag.js +2 -4
  230. package/src/runtime/helpers/for-in.js +1 -1
  231. package/src/runtime/helpers/load-nested-tag.js +1 -1
  232. package/src/runtime/helpers/load-template.js +1 -1
  233. package/src/runtime/helpers/merge.js +3 -1
  234. package/src/runtime/helpers/noop.js +1 -1
  235. package/src/runtime/helpers/style-value.js +1 -1
  236. package/src/runtime/helpers/to-string.js +1 -1
  237. package/src/runtime/html/AsyncStream.js +90 -76
  238. package/src/runtime/html/BufferedWriter.js +6 -2
  239. package/src/runtime/html/StringWriter.js +15 -9
  240. package/src/runtime/html/helpers/attrs.js +3 -3
  241. package/src/runtime/html/helpers/data-marko.js +0 -2
  242. package/src/runtime/html/helpers/escape-quotes.js +1 -1
  243. package/src/runtime/html/helpers/escape-xml.js +1 -1
  244. package/src/runtime/html/index.js +23 -13
  245. package/src/runtime/queueMicrotask.js +2 -2
  246. package/src/runtime/renderable.js +9 -9
  247. package/src/runtime/vdom/AsyncVDOMBuilder.js +46 -51
  248. package/src/runtime/vdom/VComment.js +3 -3
  249. package/src/runtime/vdom/VDocumentFragment.js +3 -3
  250. package/src/runtime/vdom/VElement.js +17 -13
  251. package/src/runtime/vdom/VFragment.js +1 -1
  252. package/src/runtime/vdom/VNode.js +2 -2
  253. package/src/runtime/vdom/VText.js +3 -3
  254. package/src/runtime/vdom/helpers/attrs.js +1 -1
  255. package/src/runtime/vdom/helpers/const.js +2 -2
  256. package/src/runtime/vdom/helpers/v-element.js +1 -1
  257. package/src/runtime/vdom/helpers/v-text.js +1 -1
  258. package/src/runtime/vdom/index.js +21 -23
  259. package/src/runtime/vdom/morphdom/fragment.js +8 -7
  260. package/src/runtime/vdom/morphdom/index.js +19 -9
  261. package/src/runtime/vdom/morphdom/specialElHandlers.js +6 -6
  262. package/src/runtime/vdom/parse-html.js +4 -4
  263. package/src/runtime/vdom/preserve-attrs.js +1 -1
  264. package/src/runtime/vdom/vdom.js +5 -7
  265. package/src/taglib/taglib-finder/index.js +1 -1
  266. package/src/taglib/taglib-loader/Tag.js +5 -5
  267. package/src/taglib/taglib-loader/Taglib.js +2 -2
  268. package/src/taglib/taglib-loader/json-file-reader.js +1 -1
  269. package/src/taglib/taglib-loader/loadAttributeFromProps.js +1 -1
  270. package/src/taglib/taglib-loader/loadTagFromProps.js +5 -6
  271. package/src/taglib/taglib-loader/tag-def-from-code.js +2 -1
  272. package/src/taglib/taglib-lookup/TaglibLookup.js +2 -2
  273. package/src/taglib/taglib-lookup/index.js +1 -1
  274. package/dist/core-tags/core/await/client-reorder-browser.js +0 -1
  275. package/dist/core-tags/core/await/client-reorder-runtime.min.js +0 -5
  276. package/dist/core-tags/core/await/client-reorder.js +0 -11
  277. package/dist/core-tags/core/await/package.json +0 -6
  278. package/dist/index-browser.js +0 -4
  279. package/dist/loader/index.js +0 -7
  280. package/dist/loader/package.json +0 -5
  281. package/dist/node-require/index-browser.js +0 -1
  282. package/dist/package.json +0 -5
  283. package/dist/runtime/components/beginComponent-browser.js +0 -12
  284. package/dist/runtime/components/endComponent.js +0 -11
  285. package/dist/runtime/components/index-browser.js +0 -14
  286. package/dist/runtime/components/init-components.js +0 -1
  287. package/dist/runtime/components/legacy/package.json +0 -6
  288. package/dist/runtime/components/package.json +0 -12
  289. package/dist/runtime/components/registry-browser.js +0 -73
  290. package/dist/runtime/html/Template.js +0 -63
  291. package/dist/runtime/package.json +0 -5
  292. package/dist/runtime/setImmediate.js +0 -19
  293. package/src/core-tags/core/await/client-reorder-browser.js +0 -1
  294. package/src/core-tags/core/await/client-reorder-runtime.min.js +0 -1
  295. package/src/core-tags/core/await/client-reorder.js +0 -14
  296. package/src/core-tags/core/await/package.json +0 -6
  297. package/src/index-browser.js +0 -3
  298. package/src/loader/index.js +0 -7
  299. package/src/loader/package.json +0 -5
  300. package/src/node-require/index-browser.js +0 -1
  301. package/src/package.json +0 -5
  302. package/src/runtime/components/index-browser.js +0 -15
  303. package/src/runtime/components/init-components.js +0 -1
  304. package/src/runtime/components/legacy/index-browser.js +0 -73
  305. package/src/runtime/components/legacy/package.json +0 -6
  306. package/src/runtime/components/package.json +0 -12
  307. package/src/runtime/components/registry-browser.js +0 -103
  308. package/src/runtime/html/Template.js +0 -62
  309. package/src/runtime/package.json +0 -5
  310. package/src/runtime/setImmediate.js +0 -21
  311. /package/dist/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  312. /package/dist/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  313. /package/dist/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  314. /package/src/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  315. /package/src/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  316. /package/src/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  317. /package/src/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +0 -0
@@ -5,10 +5,10 @@ var complain;
5
5
 
6
6
  var domInsert = require("../dom-insert");
7
7
  var defaultCreateOut = require("../createOut");
8
- var getComponentsContext = require("./ComponentsContext").u_;
9
- var componentsUtil = require("./util");
10
- var componentLookup = componentsUtil.I_;
11
- var destroyNodeRecursive = componentsUtil.J_;
8
+ var getComponentsContext = require("./ComponentsContext").U_;
9
+ var componentsUtil = require("@internal/components-util");
10
+ var componentLookup = componentsUtil._n_;
11
+ var destroyNodeRecursive = componentsUtil._S_;
12
12
  var EventEmitter = require("events-light");
13
13
  var RenderResult = require("../RenderResult");
14
14
  var SubscriptionTracker = require("listener-tracker");
@@ -17,10 +17,11 @@ var updateManager = require("./update-manager");
17
17
  var morphdom = require("../vdom/morphdom");
18
18
  var eventDelegation = require("./event-delegation");
19
19
  var domData = require("./dom-data");
20
- var componentsByDOMNode = domData.K_;
21
- var keyedElementsByComponentId = domData.L_;
20
+ var componentsByDOMNode = domData._q_;
21
+ var keyedElementsByComponentId = domData._p_;
22
22
  var CONTEXT_KEY = "__subtree_context__";
23
23
 
24
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
24
25
  var slice = Array.prototype.slice;
25
26
 
26
27
  var COMPONENT_SUBSCRIBE_TO_OPTIONS;
@@ -59,7 +60,7 @@ function handleCustomEventWithMethodListener(component, targetMethodName, args,
59
60
  args = extraArgs.concat(args);
60
61
  }
61
62
 
62
- var targetComponent = componentLookup[component.M_];
63
+ var targetComponent = componentLookup[component.Y_];
63
64
  var targetMethod = typeof targetMethodName === "function" ? targetMethodName : targetComponent[targetMethodName];
64
65
  if (!targetMethod) {
65
66
  throw Error("Method not found: " + targetMethodName);
@@ -88,7 +89,7 @@ function processUpdateHandlers(component, stateChanges, oldState) {
88
89
  var handlers;
89
90
 
90
91
  for (var propName in stateChanges) {
91
- if (stateChanges.hasOwnProperty(propName)) {
92
+ if (hasOwnProperty.call(stateChanges, propName)) {
92
93
  var handlerMethodName = "update_" + propName;
93
94
 
94
95
  handlerMethod = component[handlerMethodName];
@@ -118,8 +119,8 @@ function processUpdateHandlers(component, stateChanges, oldState) {
118
119
  handlerMethod.call(component, newValue, oldValue);
119
120
  });
120
121
 
121
- component.N_();
122
- component.O_();
122
+ component._y_();
123
+ component._t_();
123
124
  }
124
125
 
125
126
  return true;
@@ -159,50 +160,50 @@ var componentProto;
159
160
  function Component(id) {
160
161
  EventEmitter.call(this);
161
162
  this.id = id;
162
- this.P_ = null;
163
- this.Q_ = null;
164
- this.R_ = null;
165
- this.S_ = null;
166
- this.T_ = null; // Used to keep track of bubbling DOM events for components rendered on the server
167
- this.U_ = null;
168
- this.M_ = null;
169
- this.V_ = null;
170
- this.W_ = undefined;
171
- this.X_ = false;
172
- this.Y_ = undefined;
173
- this.Z_ = false;
174
- this.___ = false;
175
- this._a_ = false;
176
- this._b_ = false;
177
- this._c_ = undefined;
163
+ this.C_ = null;
164
+ this._E_ = null;
165
+ this.ak_ = null;
166
+ this._w_ = null;
167
+ this.Z_ = null; // Used to keep track of bubbling DOM events for components rendered on the server
168
+ this.X_ = null;
169
+ this.Y_ = null;
170
+ this.al_ = null;
171
+ this.R_ = undefined;
172
+ this._x_ = false;
173
+ this.am_ = undefined;
174
+ this.L_ = false;
175
+ this._c_ = false;
176
+ this.an_ = false;
177
+ this.ao_ = false;
178
+ this.E_ = undefined;
178
179
 
179
180
  var ssrKeyedElements = keyedElementsByComponentId[id];
180
181
 
181
182
  if (ssrKeyedElements) {
182
- this.q_ = ssrKeyedElements;
183
+ this.N_ = ssrKeyedElements;
183
184
  delete keyedElementsByComponentId[id];
184
185
  } else {
185
- this.q_ = {};
186
+ this.N_ = {};
186
187
  }
187
188
  }
188
189
 
189
190
  Component.prototype = componentProto = {
190
- _d_: true,
191
+ A_: true,
191
192
 
192
193
  subscribeTo: function (target) {
193
194
  if (!target) {
194
195
  throw TypeError();
195
196
  }
196
197
 
197
- var subscriptions = this.R_ || (this.R_ = new SubscriptionTracker());
198
+ var subscriptions = this.ak_ || (this.ak_ = new SubscriptionTracker());
198
199
 
199
- var subscribeToOptions = target._d_ ? COMPONENT_SUBSCRIBE_TO_OPTIONS : NON_COMPONENT_SUBSCRIBE_TO_OPTIONS;
200
+ var subscribeToOptions = target.A_ ? COMPONENT_SUBSCRIBE_TO_OPTIONS : NON_COMPONENT_SUBSCRIBE_TO_OPTIONS;
200
201
 
201
202
  return subscriptions.subscribeTo(target, subscribeToOptions);
202
203
  },
203
204
 
204
205
  emit: function (eventType) {
205
- var customEvents = this.U_;
206
+ var customEvents = this.X_;
206
207
  var target;
207
208
 
208
209
  if (customEvents && (target = customEvents[eventType])) {
@@ -229,10 +230,10 @@ Component.prototype = componentProto = {
229
230
  getEl: function (key, index) {
230
231
  if (key) {
231
232
  var resolvedKey = resolveKeyHelper(key, index);
232
- var keyedElement = this.q_["@" + resolvedKey];
233
+ var keyedElement = this.N_["@" + resolvedKey];
233
234
 
234
235
  if (!keyedElement) {
235
- var keyedComponentRoot = this.q_[resolvedKey];
236
+ var keyedComponentRoot = this.N_[resolvedKey];
236
237
 
237
238
  if (keyedComponentRoot) {
238
239
 
@@ -260,7 +261,7 @@ Component.prototype = componentProto = {
260
261
  return els;
261
262
  },
262
263
  getComponent: function (key, index) {
263
- var rootNode = this.q_[resolveKeyHelper(key, index)];
264
+ var rootNode = this.N_[resolveKeyHelper(key, index)];
264
265
  if (/\[\]$/.test(key)) {
265
266
  rootNode = rootNode && rootNode[Object.keys(rootNode)[0]];
266
267
  // eslint-disable-next-line no-constant-condition
@@ -268,26 +269,26 @@ Component.prototype = componentProto = {
268
269
  return rootNode && componentsByDOMNode.get(rootNode);
269
270
  },
270
271
  getComponents: function (key) {
271
- var lookup = this.q_[key + "[]"];
272
+ var lookup = this.N_[key + "[]"];
272
273
  return lookup ? Object.keys(lookup).map(function (key) {
273
274
  return componentsByDOMNode.get(lookup[key]);
274
275
  }).filter(Boolean) : [];
275
276
  },
276
277
  destroy: function () {
277
- if (this.Z_) {
278
+ if (this.L_) {
278
279
  return;
279
280
  }
280
281
 
281
- var root = this.Q_;
282
+ var root = this._E_;
282
283
 
283
- this._e_();
284
+ this._O_();
284
285
 
285
286
  var nodes = root.nodes;
286
287
 
287
288
  nodes.forEach(function (node) {
288
289
  destroyNodeRecursive(node);
289
290
 
290
- if (eventDelegation._f_(node) !== false) {
291
+ if (eventDelegation.ap_(node) !== false) {
291
292
  node.parentNode.removeChild(node);
292
293
  }
293
294
  });
@@ -295,129 +296,129 @@ Component.prototype = componentProto = {
295
296
  root.detached = true;
296
297
 
297
298
  delete componentLookup[this.id];
298
- this.q_ = {};
299
+ this.N_ = {};
299
300
  },
300
301
 
301
- _e_: function () {
302
- if (this.Z_) {
302
+ _O_: function () {
303
+ if (this.L_) {
303
304
  return;
304
305
  }
305
306
 
306
- this._g_();
307
- this.Z_ = true;
307
+ this.aq_();
308
+ this.L_ = true;
308
309
 
309
- componentsByDOMNode.set(this.Q_, undefined);
310
+ componentsByDOMNode.set(this._E_, undefined);
310
311
 
311
- this.Q_ = null;
312
+ this._E_ = null;
312
313
 
313
314
  // Unsubscribe from all DOM events
314
- this._h_();
315
+ this._v_();
315
316
 
316
- var subscriptions = this.R_;
317
+ var subscriptions = this.ak_;
317
318
  if (subscriptions) {
318
319
  subscriptions.removeAllListeners();
319
- this.R_ = null;
320
+ this.ak_ = null;
320
321
  }
321
322
  },
322
323
 
323
324
  isDestroyed: function () {
324
- return this.Z_;
325
+ return this.L_;
325
326
  },
326
327
  get state() {
327
- return this.P_;
328
+ return this.C_;
328
329
  },
329
330
  set state(newState) {
330
- var state = this.P_;
331
+ var state = this.C_;
331
332
  if (!state && !newState) {
332
333
  return;
333
334
  }
334
335
 
335
336
  if (!state) {
336
- state = this.P_ = new this._i_(this);
337
+ state = this.C_ = new this.S_(this);
337
338
  }
338
339
 
339
- state._j_(newState || {});
340
+ state.ar_(newState || {});
340
341
 
341
- if (state._a_) {
342
- this._k_();
342
+ if (state.an_) {
343
+ this.as_();
343
344
  }
344
345
 
345
346
  if (!newState) {
346
- this.P_ = null;
347
+ this.C_ = null;
347
348
  }
348
349
  },
349
350
  setState: function (name, value) {
350
- var state = this.P_;
351
+ var state = this.C_;
351
352
 
352
353
  if (!state) {
353
- state = this.P_ = new this._i_(this);
354
+ state = this.C_ = new this.S_(this);
354
355
  }
355
356
  if (typeof name == "object") {
356
357
  // Merge in the new state with the old state
357
358
  var newState = name;
358
359
  for (var k in newState) {
359
- if (newState.hasOwnProperty(k)) {
360
- state._l_(k, newState[k], true /* ensure:true */);
360
+ if (hasOwnProperty.call(newState, k)) {
361
+ state.at_(k, newState[k], true /* ensure:true */);
361
362
  }
362
363
  }
363
364
  } else {
364
- state._l_(name, value, true /* ensure:true */);
365
+ state.at_(name, value, true /* ensure:true */);
365
366
  }
366
367
  },
367
368
 
368
369
  setStateDirty: function (name, value) {
369
- var state = this.P_;
370
+ var state = this.C_;
370
371
 
371
372
  if (arguments.length == 1) {
372
373
  value = state[name];
373
374
  }
374
375
 
375
- state._l_(name, value, true /* ensure:true */
376
+ state.at_(name, value, true /* ensure:true */
376
377
  , true /* forceDirty:true */
377
378
  );
378
379
  },
379
380
 
380
381
  replaceState: function (newState) {
381
- this.P_._j_(newState);
382
+ this.C_.ar_(newState);
382
383
  },
383
384
 
384
385
  get input() {
385
- return this.W_;
386
+ return this.R_;
386
387
  },
387
388
  set input(newInput) {
388
- if (this._b_) {
389
- this.W_ = newInput;
389
+ if (this.ao_) {
390
+ this.R_ = newInput;
390
391
  } else {
391
- this._m_(newInput);
392
+ this._l_(newInput);
392
393
  }
393
394
  },
394
395
 
395
- _m_: function (newInput, onInput, out) {
396
+ _l_: function (newInput, onInput, out) {
396
397
  onInput = onInput || this.onInput;
397
398
  var updatedInput;
398
399
 
399
- var oldInput = this.W_;
400
- this.W_ = undefined;
401
- this._n_ = out && out[CONTEXT_KEY] || this._n_;
400
+ var oldInput = this.R_;
401
+ this.R_ = undefined;
402
+ this.au_ = out && out[CONTEXT_KEY] || this.au_;
402
403
 
403
404
  if (onInput) {
404
405
  // We need to set a flag to preview `this.input = foo` inside
405
406
  // onInput causing infinite recursion
406
- this._b_ = true;
407
+ this.ao_ = true;
407
408
  updatedInput = onInput.call(this, newInput || {}, out);
408
- this._b_ = false;
409
+ this.ao_ = false;
409
410
  }
410
411
 
411
- newInput = this.V_ = updatedInput || newInput;
412
+ newInput = this.al_ = updatedInput || newInput;
412
413
 
413
- if (this._a_ = checkInputChanged(this, oldInput, newInput)) {
414
- this._k_();
414
+ if (this.an_ = checkInputChanged(this, oldInput, newInput)) {
415
+ this.as_();
415
416
  }
416
417
 
417
- if (this.W_ === undefined) {
418
- this.W_ = newInput;
418
+ if (this.R_ === undefined) {
419
+ this.R_ = newInput;
419
420
  if (newInput && newInput.$global) {
420
- this.Y_ = newInput.$global;
421
+ this.am_ = newInput.$global;
421
422
  }
422
423
  }
423
424
 
@@ -425,54 +426,54 @@ Component.prototype = componentProto = {
425
426
  },
426
427
 
427
428
  forceUpdate: function () {
428
- this._a_ = true;
429
- this._k_();
429
+ this.an_ = true;
430
+ this.as_();
430
431
  },
431
432
 
432
- _k_: function () {
433
- if (!this.___) {
434
- this.___ = true;
435
- updateManager._o_(this);
433
+ as_: function () {
434
+ if (!this._c_) {
435
+ this._c_ = true;
436
+ updateManager.av_(this);
436
437
  }
437
438
  },
438
439
 
439
440
  update: function () {
440
- if (this.Z_ === true || this._p_ === false) {
441
+ if (this.L_ === true || this.aw_ === false) {
441
442
  return;
442
443
  }
443
444
 
444
- var input = this.W_;
445
- var state = this.P_;
445
+ var input = this.R_;
446
+ var state = this.C_;
446
447
 
447
- if (this._a_ === false && state !== null && state._a_ === true) {
448
- if (processUpdateHandlers(this, state._q_, state._r_, state)) {
449
- state._a_ = false;
448
+ if (this.an_ === false && state !== null && state.an_ === true) {
449
+ if (processUpdateHandlers(this, state.ax_, state.ay_, state)) {
450
+ state.an_ = false;
450
451
  }
451
452
  }
452
453
 
453
- if (this._p_ === true) {
454
+ if (this.aw_ === true) {
454
455
  // The UI component is still dirty after process state handlers
455
456
  // then we should rerender
456
457
 
457
458
  if (this.shouldUpdate(input, state) !== false) {
458
- this._s_();
459
+ this.az_();
459
460
  }
460
461
  }
461
462
 
462
- this.O_();
463
+ this._t_();
463
464
  },
464
465
 
465
- get _p_() {
466
- return this._a_ === true || this.P_ !== null && this.P_._a_ === true;
466
+ get aw_() {
467
+ return this.an_ === true || this.C_ !== null && this.C_.an_ === true;
467
468
  },
468
469
 
469
- O_: function () {
470
- this._a_ = false;
471
- this.___ = false;
472
- this.V_ = null;
473
- var state = this.P_;
470
+ _t_: function () {
471
+ this.an_ = false;
472
+ this._c_ = false;
473
+ this.al_ = null;
474
+ var state = this.C_;
474
475
  if (state) {
475
- state.O_();
476
+ state._t_();
476
477
  }
477
478
  },
478
479
 
@@ -480,72 +481,72 @@ Component.prototype = componentProto = {
480
481
  return true;
481
482
  },
482
483
 
483
- _s_: function () {
484
+ az_: function () {
484
485
  var self = this;
485
- var renderer = self._t_;
486
+ var renderer = self.T_;
486
487
 
487
488
  if (!renderer) {
488
489
  throw TypeError();
489
490
  }
490
491
 
491
- var input = this.V_ || this.W_;
492
+ var input = this.al_ || this.R_;
492
493
 
493
- updateManager._u_(function () {
494
- self._v_(input, false).afterInsert(self._c_);
494
+ updateManager.aA_(function () {
495
+ self._F_(input, false).afterInsert(self.E_);
495
496
  });
496
497
 
497
- this.O_();
498
+ this._t_();
498
499
  },
499
500
 
500
- _v_: function (input, isHydrate) {
501
- var doc = this._c_;
502
- var globalData = this.Y_;
503
- var rootNode = this.Q_;
504
- var renderer = this._t_;
501
+ _F_: function (input, isHydrate) {
502
+ var host = this.E_;
503
+ var globalData = this.am_;
504
+ var rootNode = this._E_;
505
+ var renderer = this.T_;
505
506
  var createOut = renderer.createOut || defaultCreateOut;
506
507
  var out = createOut(globalData);
507
508
  out.sync();
508
- out._c_ = this._c_;
509
- out[CONTEXT_KEY] = this._n_;
509
+ out.E_ = this.E_;
510
+ out[CONTEXT_KEY] = this.au_;
510
511
 
511
512
  var componentsContext = getComponentsContext(out);
512
- var globalComponentsContext = componentsContext.k_;
513
- globalComponentsContext._w_ = this;
514
- globalComponentsContext.l_ = isHydrate;
513
+ var globalComponentsContext = componentsContext.r_;
514
+ globalComponentsContext.aB_ = this;
515
+ globalComponentsContext.a__ = isHydrate;
515
516
 
516
517
  renderer(input, out);
517
518
 
518
519
  var result = new RenderResult(out);
519
520
 
520
- var targetNode = out.H_().a_;
521
+ var targetNode = out.aj_().a_;
521
522
 
522
- morphdom(rootNode, targetNode, doc, componentsContext);
523
+ morphdom(rootNode, targetNode, host, componentsContext);
523
524
 
524
525
  return result;
525
526
  },
526
527
 
527
- _x_: function () {
528
- var root = this.Q_;
528
+ aC_: function () {
529
+ var root = this._E_;
529
530
  root.remove();
530
531
  return root;
531
532
  },
532
533
 
533
- _h_: function () {
534
- var eventListenerHandles = this.S_;
534
+ _v_: function () {
535
+ var eventListenerHandles = this._w_;
535
536
  if (eventListenerHandles) {
536
537
  eventListenerHandles.forEach(removeListener);
537
- this.S_ = null;
538
+ this._w_ = null;
538
539
  }
539
540
  },
540
541
 
541
- get _y_() {
542
- var state = this.P_;
543
- return state && state._z_;
542
+ get aD_() {
543
+ var state = this.C_;
544
+ return state && state.D_;
544
545
  },
545
546
 
546
- _A_: function (customEvents, scope) {
547
- var finalCustomEvents = this.U_ = {};
548
- this.M_ = scope;
547
+ aE_: function (customEvents, scope) {
548
+ var finalCustomEvents = this.X_ = {};
549
+ this.Y_ = scope;
549
550
 
550
551
  customEvents.forEach(function (customEvent) {
551
552
  var eventType = customEvent[0];
@@ -553,51 +554,53 @@ Component.prototype = componentProto = {
553
554
  var isOnce = customEvent[2];
554
555
  var extraArgs = customEvent[3];
555
556
 
556
- finalCustomEvents[eventType] = [targetMethodName, isOnce, extraArgs];
557
+ if (targetMethodName) {
558
+ finalCustomEvents[eventType] = [targetMethodName, isOnce, extraArgs];
559
+ }
557
560
  });
558
561
  },
559
562
 
560
563
  get el() {
561
- return walkFragments(this.Q_);
564
+ return walkFragments(this._E_);
562
565
  },
563
566
 
564
567
  get els() {
565
- return (this.Q_ ? this.Q_.nodes : []).filter(function (el) {
568
+ return (this._E_ ? this._E_.nodes : []).filter(function (el) {
566
569
  return el.nodeType === ELEMENT_NODE;
567
570
  });
568
571
  // eslint-disable-next-line no-constant-condition
569
572
  },
570
573
 
571
- _B_: emit,
572
- _C_(input, out) {
574
+ aF_: emit,
575
+ aG_(input, out) {
573
576
  this.onCreate && this.onCreate(input, out);
574
- this._B_("create", input, out);
577
+ this.aF_("create", input, out);
575
578
  },
576
579
 
577
- _D_(out) {
580
+ aH_(out) {
578
581
  this.onRender && this.onRender(out);
579
- this._B_("render", out);
582
+ this.aF_("render", out);
580
583
  },
581
584
 
582
- N_() {
585
+ _y_() {
583
586
  this.onUpdate && this.onUpdate();
584
- this._B_("update");
587
+ this.aF_("update");
585
588
  },
586
589
 
587
- _E_() {
590
+ _z_() {
588
591
  this.onMount && this.onMount();
589
- this._B_("mount");
592
+ this.aF_("mount");
590
593
  },
591
594
 
592
- _g_() {
595
+ aq_() {
593
596
  this.onDestroy && this.onDestroy();
594
- this._B_("destroy");
597
+ this.aF_("destroy");
595
598
  }
596
599
  };
597
600
 
598
601
  componentProto.elId = componentProto.getElId;
599
- componentProto._F_ = componentProto.update;
600
- componentProto._G_ = componentProto.destroy;
602
+ componentProto.aI_ = componentProto.update;
603
+ componentProto.aJ_ = componentProto.destroy;
601
604
 
602
605
  // Add all of the following DOM methods to Component.prototype:
603
606
  // - appendTo(referenceEl)
@@ -607,7 +610,7 @@ componentProto._G_ = componentProto.destroy;
607
610
  // - insertAfter(referenceEl)
608
611
  // - prependTo(referenceEl)
609
612
  domInsert(componentProto, function getEl(component) {
610
- return component._x_();
613
+ return component.aC_();
611
614
  }, function afterInsert(component) {
612
615
  return component;
613
616
  });