marko 5.37.5 → 6.0.0-3.11

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 (648) hide show
  1. package/dist/common/attr-tag.d.ts +8 -0
  2. package/dist/common/compat-meta.d.ts +2 -0
  3. package/dist/common/for.d.ts +5 -0
  4. package/dist/common/helpers.d.ts +7 -0
  5. package/dist/common/meta.d.ts +2 -0
  6. package/dist/common/types.d.ts +105 -0
  7. package/dist/debug/dom.js +2111 -0
  8. package/dist/debug/dom.mjs +2088 -0
  9. package/dist/debug/html.js +2740 -0
  10. package/dist/debug/html.mjs +2663 -0
  11. package/dist/dom/abort-signal.d.ts +3 -0
  12. package/dist/dom/compat.d.ts +20 -0
  13. package/dist/dom/control-flow.d.ts +14 -0
  14. package/dist/dom/controllable.d.ts +12 -0
  15. package/dist/dom/dom.d.ts +19 -0
  16. package/dist/dom/event.d.ts +4 -0
  17. package/dist/dom/parse-html.d.ts +5 -0
  18. package/dist/dom/queue.d.ts +10 -0
  19. package/dist/dom/reconcile.d.ts +2 -0
  20. package/dist/dom/renderer.d.ts +21 -0
  21. package/dist/dom/resolve-cursor-position.d.ts +1 -0
  22. package/dist/dom/resume.d.ts +9 -0
  23. package/dist/dom/schedule.d.ts +2 -0
  24. package/dist/dom/scope.d.ts +7 -0
  25. package/dist/dom/signals.d.ts +39 -0
  26. package/dist/dom/template.d.ts +3 -0
  27. package/dist/dom/walker.d.ts +4 -0
  28. package/dist/dom.d.ts +15 -0
  29. package/dist/dom.js +1370 -0
  30. package/dist/dom.mjs +1350 -0
  31. package/dist/html/attrs.d.ts +14 -0
  32. package/dist/html/compat.d.ts +14 -0
  33. package/dist/html/content.d.ts +5 -0
  34. package/dist/html/dynamic-tag.d.ts +12 -0
  35. package/dist/html/for.d.ts +4 -0
  36. package/dist/html/inlined-runtimes.d.ts +2 -0
  37. package/dist/html/serializer.d.ts +14 -0
  38. package/dist/html/template.d.ts +3 -0
  39. package/dist/html/writer.d.ts +114 -0
  40. package/dist/html.d.ts +9 -0
  41. package/dist/html.js +1818 -0
  42. package/dist/html.mjs +1744 -0
  43. package/dist/translator/core/attrs.d.ts +3 -0
  44. package/dist/translator/core/client.d.ts +14 -0
  45. package/dist/translator/core/const.d.ts +3 -0
  46. package/dist/translator/core/debug.d.ts +3 -0
  47. package/dist/translator/core/define.d.ts +3 -0
  48. package/dist/translator/core/effect.d.ts +3 -0
  49. package/dist/translator/core/export.d.ts +3 -0
  50. package/dist/translator/core/for.d.ts +67 -0
  51. package/dist/translator/core/html-comment.d.ts +12 -0
  52. package/dist/translator/core/html-script.d.ts +9 -0
  53. package/dist/translator/core/html-style.d.ts +9 -0
  54. package/dist/translator/core/id.d.ts +3 -0
  55. package/dist/translator/core/if.d.ts +53 -0
  56. package/dist/translator/core/import.d.ts +3 -0
  57. package/dist/translator/core/index.d.ts +152 -0
  58. package/dist/translator/core/let.d.ts +8 -0
  59. package/dist/translator/core/lifecycle.d.ts +10 -0
  60. package/dist/translator/core/log.d.ts +3 -0
  61. package/dist/translator/core/return.d.ts +6 -0
  62. package/dist/translator/core/script.d.ts +3 -0
  63. package/dist/translator/core/server.d.ts +14 -0
  64. package/dist/translator/core/static.d.ts +14 -0
  65. package/dist/translator/core/style.d.ts +3 -0
  66. package/dist/translator/index.d.ts +201 -0
  67. package/dist/translator/index.js +9134 -490
  68. package/dist/translator/util/assert.d.ts +3 -0
  69. package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
  70. package/dist/translator/util/entry-builder.d.ts +19 -0
  71. package/dist/translator/util/evaluate.d.ts +11 -0
  72. package/dist/translator/util/for-each-identifier.d.ts +2 -0
  73. package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
  74. package/dist/translator/util/get-known-attr-values.d.ts +2 -0
  75. package/dist/translator/util/get-parent-tag.d.ts +2 -0
  76. package/dist/translator/util/get-root.d.ts +7 -0
  77. package/dist/translator/util/get-tag-name.d.ts +2 -0
  78. package/dist/translator/util/is-core-tag.d.ts +10 -0
  79. package/dist/translator/util/is-stateful.d.ts +3 -0
  80. package/dist/translator/util/is-static.d.ts +2 -0
  81. package/dist/translator/util/marko-config.d.ts +4 -0
  82. package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
  83. package/dist/translator/util/normalize-string-expression.d.ts +3 -0
  84. package/dist/translator/util/optional.d.ts +20 -0
  85. package/dist/translator/util/plugin-hooks.d.ts +4 -0
  86. package/dist/translator/util/references.d.ts +84 -0
  87. package/dist/translator/util/runtime-info.d.ts +5 -0
  88. package/dist/translator/util/runtime.d.ts +15 -0
  89. package/dist/translator/util/scope-read.d.ts +6 -0
  90. package/dist/translator/util/sections.d.ts +51 -0
  91. package/dist/translator/util/signals.d.ts +61 -0
  92. package/dist/translator/util/simplify-fn.d.ts +5 -0
  93. package/dist/translator/util/state.d.ts +3 -0
  94. package/dist/translator/util/tag-name-type.d.ts +16 -0
  95. package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
  96. package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
  97. package/dist/translator/util/to-property-name.d.ts +7 -0
  98. package/dist/translator/util/translate-attrs.d.ts +12 -0
  99. package/dist/translator/util/translate-var.d.ts +2 -0
  100. package/dist/translator/util/traverse.d.ts +9 -0
  101. package/dist/translator/util/visitors.d.ts +11 -0
  102. package/dist/translator/util/walks.d.ts +15 -0
  103. package/dist/translator/util/with-previous-location.d.ts +2 -0
  104. package/dist/translator/util/writer.d.ts +13 -0
  105. package/dist/translator/visitors/cdata.d.ts +7 -0
  106. package/dist/translator/visitors/comment.d.ts +7 -0
  107. package/dist/translator/visitors/declaration.d.ts +7 -0
  108. package/dist/translator/visitors/document-type.d.ts +7 -0
  109. package/dist/translator/visitors/function.d.ts +19 -0
  110. package/dist/translator/visitors/import-declaration.d.ts +8 -0
  111. package/dist/translator/visitors/placeholder.d.ts +22 -0
  112. package/dist/translator/visitors/program/dom.d.ts +7 -0
  113. package/dist/translator/visitors/program/html.d.ts +8 -0
  114. package/dist/translator/visitors/program/index.d.ts +39 -0
  115. package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
  116. package/dist/translator/visitors/scriptlet.d.ts +8 -0
  117. package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
  118. package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
  119. package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
  120. package/dist/translator/visitors/tag/index.d.ts +15 -0
  121. package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
  122. package/dist/translator/visitors/text.d.ts +7 -0
  123. package/package.json +34 -70
  124. package/tag-types/const.d.marko +7 -0
  125. package/tag-types/debug.d.marko +5 -0
  126. package/tag-types/define.d.marko +5 -0
  127. package/tag-types/do.d.marko +5 -0
  128. package/tag-types/effect.d.marko +5 -0
  129. package/tag-types/id.d.marko +3 -0
  130. package/tag-types/let.d.marko +8 -0
  131. package/tag-types/lifecycle.d.marko +7 -0
  132. package/tag-types/log.d.marko +5 -0
  133. package/tag-types/script.d.marko +5 -0
  134. package/README.md +0 -161
  135. package/bin/markoc +0 -2
  136. package/bin/markoc.js +0 -441
  137. package/browser-refresh.js +0 -5
  138. package/compiler-browser.marko +0 -15
  139. package/compiler.js +0 -7
  140. package/components-browser.marko +0 -15
  141. package/components.js +0 -7
  142. package/dist/build.json +0 -3
  143. package/dist/compiler/config.js +0 -45
  144. package/dist/compiler/index.js +0 -164
  145. package/dist/compiler/modules.js +0 -5
  146. package/dist/core-tags/components/init-components-tag.js +0 -54
  147. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  148. package/dist/core-tags/components/preserve-tag.js +0 -1
  149. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  150. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  151. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  152. package/dist/core-tags/core/await/index.d.marko +0 -10
  153. package/dist/core-tags/core/await/renderer.js +0 -249
  154. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  155. package/dist/index.js +0 -4
  156. package/dist/node-require/browser-refresh.js +0 -1
  157. package/dist/node-require/hot-reload.js +0 -45
  158. package/dist/node-require/index.js +0 -103
  159. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  160. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  161. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  162. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  163. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  164. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  165. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  166. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  167. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  168. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  169. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  170. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  171. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  172. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  173. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  174. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  175. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  176. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  177. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  178. package/dist/node_modules/@internal/components-util/index.js +0 -71
  179. package/dist/node_modules/@internal/components-util/package.json +0 -11
  180. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  181. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  182. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  183. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  184. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  185. package/dist/node_modules/@internal/loader/index.js +0 -23
  186. package/dist/node_modules/@internal/loader/package.json +0 -10
  187. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  188. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  189. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  190. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  191. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  192. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  193. package/dist/node_modules/@internal/require/index.js +0 -15
  194. package/dist/node_modules/@internal/require/package.json +0 -11
  195. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  196. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  197. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  198. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  199. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  200. package/dist/runtime/RenderResult.js +0 -112
  201. package/dist/runtime/components/Component.js +0 -663
  202. package/dist/runtime/components/ComponentDef.js +0 -169
  203. package/dist/runtime/components/ComponentsContext.js +0 -59
  204. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  205. package/dist/runtime/components/KeySequence.js +0 -16
  206. package/dist/runtime/components/ServerComponent.js +0 -73
  207. package/dist/runtime/components/State.js +0 -101
  208. package/dist/runtime/components/attach-detach.js +0 -60
  209. package/dist/runtime/components/defineComponent.js +0 -60
  210. package/dist/runtime/components/dom-data.js +0 -8
  211. package/dist/runtime/components/event-delegation.js +0 -144
  212. package/dist/runtime/components/index.js +0 -1
  213. package/dist/runtime/components/legacy/browser.json +0 -9
  214. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  215. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  216. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  217. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  218. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  219. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  220. package/dist/runtime/components/legacy/index.js +0 -1
  221. package/dist/runtime/components/legacy/jquery.js +0 -52
  222. package/dist/runtime/components/legacy/ready.js +0 -152
  223. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  224. package/dist/runtime/components/registry.js +0 -1
  225. package/dist/runtime/components/renderer.js +0 -236
  226. package/dist/runtime/components/update-manager.js +0 -94
  227. package/dist/runtime/createOut.js +0 -13
  228. package/dist/runtime/dom-insert.js +0 -77
  229. package/dist/runtime/events.js +0 -2
  230. package/dist/runtime/helpers/_change-case.js +0 -45
  231. package/dist/runtime/helpers/assign.js +0 -21
  232. package/dist/runtime/helpers/attr-tag.js +0 -43
  233. package/dist/runtime/helpers/class-value.js +0 -30
  234. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  235. package/dist/runtime/helpers/empty-component.js +0 -1
  236. package/dist/runtime/helpers/merge.js +0 -13
  237. package/dist/runtime/helpers/of-fallback.js +0 -4
  238. package/dist/runtime/helpers/render-tag.js +0 -20
  239. package/dist/runtime/helpers/serialize-noop.js +0 -5
  240. package/dist/runtime/helpers/style-value.js +0 -45
  241. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  242. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  243. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  244. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  245. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  246. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  247. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  248. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  249. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  250. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  251. package/dist/runtime/helpers/to-string.js +0 -5
  252. package/dist/runtime/html/AsyncStream.js +0 -805
  253. package/dist/runtime/html/BufferedWriter.js +0 -52
  254. package/dist/runtime/html/StringWriter.js +0 -73
  255. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  256. package/dist/runtime/html/helpers/attr.js +0 -80
  257. package/dist/runtime/html/helpers/attrs.js +0 -26
  258. package/dist/runtime/html/helpers/class-attr.js +0 -8
  259. package/dist/runtime/html/helpers/data-marko.js +0 -36
  260. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  261. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  262. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  263. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  264. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  265. package/dist/runtime/html/helpers/props-script.js +0 -32
  266. package/dist/runtime/html/helpers/style-attr.js +0 -8
  267. package/dist/runtime/html/hot-reload.js +0 -26
  268. package/dist/runtime/html/index.js +0 -33
  269. package/dist/runtime/html/marko-namespace.js +0 -3
  270. package/dist/runtime/renderable.js +0 -194
  271. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  272. package/dist/runtime/vdom/VComment.js +0 -24
  273. package/dist/runtime/vdom/VComponent.js +0 -17
  274. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  275. package/dist/runtime/vdom/VElement.js +0 -375
  276. package/dist/runtime/vdom/VFragment.js +0 -26
  277. package/dist/runtime/vdom/VNode.js +0 -100
  278. package/dist/runtime/vdom/VText.js +0 -25
  279. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  280. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  281. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  282. package/dist/runtime/vdom/hot-reload.js +0 -115
  283. package/dist/runtime/vdom/index.js +0 -30
  284. package/dist/runtime/vdom/is-text-only.js +0 -10
  285. package/dist/runtime/vdom/marko-namespace.js +0 -3
  286. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  287. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  288. package/dist/runtime/vdom/morphdom/index.js +0 -741
  289. package/dist/runtime/vdom/parse-html.js +0 -18
  290. package/dist/runtime/vdom/vdom.js +0 -88
  291. package/dist/taglib/index.js +0 -51
  292. package/dist/translator/cdata/index.js +0 -15
  293. package/dist/translator/cdata/index[html].js +0 -15
  294. package/dist/translator/cdata/index[vdom].js +0 -12
  295. package/dist/translator/class.js +0 -65
  296. package/dist/translator/comment/index.js +0 -15
  297. package/dist/translator/comment/index[html].js +0 -17
  298. package/dist/translator/comment/index[vdom].js +0 -3
  299. package/dist/translator/declaration/index.js +0 -15
  300. package/dist/translator/declaration/index[html].js +0 -12
  301. package/dist/translator/declaration/index[vdom].js +0 -3
  302. package/dist/translator/document-type/index.js +0 -15
  303. package/dist/translator/document-type/index[html].js +0 -12
  304. package/dist/translator/document-type/index[vdom].js +0 -3
  305. package/dist/translator/placeholder/index.js +0 -15
  306. package/dist/translator/placeholder/index[html].js +0 -93
  307. package/dist/translator/placeholder/index[vdom].js +0 -22
  308. package/dist/translator/scriptlet.js +0 -4
  309. package/dist/translator/tag/attribute/directives/class.js +0 -42
  310. package/dist/translator/tag/attribute/directives/index.js +0 -15
  311. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  312. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  313. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  314. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  315. package/dist/translator/tag/attribute/directives/style.js +0 -42
  316. package/dist/translator/tag/attribute/index.js +0 -150
  317. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  318. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  319. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  320. package/dist/translator/tag/attribute-tag.js +0 -149
  321. package/dist/translator/tag/custom-tag.js +0 -146
  322. package/dist/translator/tag/dynamic-tag.js +0 -74
  323. package/dist/translator/tag/index.js +0 -287
  324. package/dist/translator/tag/macro-tag.js +0 -7
  325. package/dist/translator/tag/native-tag.js +0 -27
  326. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  327. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  328. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  329. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  330. package/dist/translator/tag/util.js +0 -246
  331. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  332. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  333. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  334. package/dist/translator/taglib/core/conditional/util.js +0 -41
  335. package/dist/translator/taglib/core/index.js +0 -474
  336. package/dist/translator/taglib/core/macro/parse.js +0 -17
  337. package/dist/translator/taglib/core/macro/translate.js +0 -48
  338. package/dist/translator/taglib/core/parse-class.js +0 -79
  339. package/dist/translator/taglib/core/parse-export.js +0 -14
  340. package/dist/translator/taglib/core/parse-import.js +0 -14
  341. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  342. package/dist/translator/taglib/core/parse-static.js +0 -18
  343. package/dist/translator/taglib/core/transform-style.js +0 -66
  344. package/dist/translator/taglib/core/translate-await.js +0 -41
  345. package/dist/translator/taglib/core/translate-body.js +0 -17
  346. package/dist/translator/taglib/core/translate-for.js +0 -156
  347. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  348. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  349. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  350. package/dist/translator/taglib/core/translate-while.js +0 -32
  351. package/dist/translator/taglib/index.js +0 -6
  352. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  353. package/dist/translator/taglib/migrate/index.js +0 -5
  354. package/dist/translator/text/index.js +0 -10
  355. package/dist/translator/text/index[html].js +0 -12
  356. package/dist/translator/text/index[vdom].js +0 -20
  357. package/dist/translator/util/add-dependencies.js +0 -329
  358. package/dist/translator/util/escape-regexp.js +0 -4
  359. package/dist/translator/util/get-component-files.js +0 -86
  360. package/dist/translator/util/html-out-write.js +0 -15
  361. package/dist/translator/util/key-manager.js +0 -176
  362. package/dist/translator/util/optimize-html-writes.js +0 -52
  363. package/dist/translator/util/optimize-vdom-create.js +0 -164
  364. package/dist/translator/util/plugin-hooks.js +0 -22
  365. package/dist/translator/util/runtime-flags.js +0 -3
  366. package/dist/translator/util/vdom-out-write.js +0 -10
  367. package/dist/translator/util/with-previous-location.js +0 -6
  368. package/docs/10-awesome-marko-features.md +0 -291
  369. package/docs/body-content.md +0 -355
  370. package/docs/class-components.md +0 -1001
  371. package/docs/cloudflare-workers.md +0 -32
  372. package/docs/compiler-hooks.png +0 -0
  373. package/docs/compiler.md +0 -473
  374. package/docs/component-diagram.afdesign +0 -0
  375. package/docs/component-diagram.svg +0 -87
  376. package/docs/concise.md +0 -141
  377. package/docs/conditionals-and-lists.md +0 -72
  378. package/docs/core-tags.md +0 -325
  379. package/docs/custom-tags.md +0 -201
  380. package/docs/editor-plugins.md +0 -45
  381. package/docs/events.md +0 -131
  382. package/docs/express.md +0 -66
  383. package/docs/fastify.md +0 -65
  384. package/docs/getting-started.md +0 -95
  385. package/docs/http.md +0 -34
  386. package/docs/icons/js.svg +0 -4
  387. package/docs/icons/marko.svg +0 -1
  388. package/docs/icons/ts.svg +0 -1
  389. package/docs/installing.md +0 -51
  390. package/docs/koa.md +0 -35
  391. package/docs/lasso.md +0 -196
  392. package/docs/marko-5-upgrade.md +0 -59
  393. package/docs/marko-json.md +0 -248
  394. package/docs/marko-vs-react.md +0 -854
  395. package/docs/redux.md +0 -61
  396. package/docs/rendering.md +0 -268
  397. package/docs/rollup.md +0 -352
  398. package/docs/state.md +0 -105
  399. package/docs/structure.json +0 -49
  400. package/docs/styles.md +0 -29
  401. package/docs/syntax.md +0 -601
  402. package/docs/troubleshooting-streaming.md +0 -68
  403. package/docs/typescript.md +0 -406
  404. package/docs/vite.md +0 -86
  405. package/docs/webpack.md +0 -205
  406. package/docs/why-is-marko-fast.md +0 -239
  407. package/env.js +0 -7
  408. package/helpers/README.md +0 -3
  409. package/helpers/empty.js +0 -4
  410. package/helpers/notEmpty.js +0 -11
  411. package/index-browser.marko +0 -15
  412. package/index.d.ts +0 -375
  413. package/index.js +0 -7
  414. package/legacy-components-browser.marko +0 -15
  415. package/legacy-components.js +0 -7
  416. package/node-require.js +0 -8
  417. package/src/build.json +0 -3
  418. package/src/compiler/config.js +0 -45
  419. package/src/compiler/index.js +0 -164
  420. package/src/compiler/modules.js +0 -5
  421. package/src/core-tags/.eslintrc +0 -5
  422. package/src/core-tags/components/init-components-tag.js +0 -54
  423. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  424. package/src/core-tags/components/preserve-tag.js +0 -1
  425. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  426. package/src/core-tags/core/await/AsyncValue.js +0 -121
  427. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  428. package/src/core-tags/core/await/index.d.marko +0 -10
  429. package/src/core-tags/core/await/renderer.js +0 -249
  430. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  431. package/src/index.js +0 -4
  432. package/src/node-require/browser-refresh.js +0 -18
  433. package/src/node-require/hot-reload.js +0 -45
  434. package/src/node-require/index.js +0 -103
  435. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  436. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  437. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  438. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  439. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  440. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  441. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  442. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  443. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  444. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  445. package/src/node_modules/@internal/components-entry/index.js +0 -301
  446. package/src/node_modules/@internal/components-entry/package.json +0 -11
  447. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  448. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  449. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  450. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  451. package/src/node_modules/@internal/components-registry/index.js +0 -44
  452. package/src/node_modules/@internal/components-registry/package.json +0 -11
  453. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  454. package/src/node_modules/@internal/components-util/index.js +0 -75
  455. package/src/node_modules/@internal/components-util/package.json +0 -11
  456. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  457. package/src/node_modules/@internal/create-readable/index.js +0 -57
  458. package/src/node_modules/@internal/create-readable/package.json +0 -11
  459. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  460. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  461. package/src/node_modules/@internal/loader/index.js +0 -23
  462. package/src/node_modules/@internal/loader/package.json +0 -10
  463. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  464. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  465. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  466. package/src/node_modules/@internal/require/index-browser.js +0 -15
  467. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  468. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  469. package/src/node_modules/@internal/require/index.js +0 -15
  470. package/src/node_modules/@internal/require/package.json +0 -11
  471. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  472. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  473. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  474. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  475. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  476. package/src/runtime/.eslintrc +0 -5
  477. package/src/runtime/RenderResult.js +0 -112
  478. package/src/runtime/components/Component.js +0 -663
  479. package/src/runtime/components/ComponentDef.js +0 -169
  480. package/src/runtime/components/ComponentsContext.js +0 -59
  481. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  482. package/src/runtime/components/KeySequence.js +0 -16
  483. package/src/runtime/components/ServerComponent.js +0 -73
  484. package/src/runtime/components/State.js +0 -101
  485. package/src/runtime/components/attach-detach.js +0 -60
  486. package/src/runtime/components/defineComponent.js +0 -60
  487. package/src/runtime/components/dom-data.js +0 -8
  488. package/src/runtime/components/event-delegation.js +0 -144
  489. package/src/runtime/components/index.js +0 -1
  490. package/src/runtime/components/legacy/browser.json +0 -9
  491. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  492. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  493. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  494. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  495. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  496. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  497. package/src/runtime/components/legacy/index.js +0 -1
  498. package/src/runtime/components/legacy/jquery.js +0 -52
  499. package/src/runtime/components/legacy/ready.js +0 -152
  500. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  501. package/src/runtime/components/registry.js +0 -1
  502. package/src/runtime/components/renderer.js +0 -236
  503. package/src/runtime/components/update-manager.js +0 -94
  504. package/src/runtime/createOut.js +0 -13
  505. package/src/runtime/dom-insert.js +0 -77
  506. package/src/runtime/events.js +0 -2
  507. package/src/runtime/helpers/_change-case.js +0 -45
  508. package/src/runtime/helpers/assign.js +0 -21
  509. package/src/runtime/helpers/attr-tag.js +0 -43
  510. package/src/runtime/helpers/class-value.js +0 -30
  511. package/src/runtime/helpers/dynamic-tag.js +0 -181
  512. package/src/runtime/helpers/empty-component.js +0 -1
  513. package/src/runtime/helpers/merge.js +0 -13
  514. package/src/runtime/helpers/of-fallback.js +0 -4
  515. package/src/runtime/helpers/render-tag.js +0 -20
  516. package/src/runtime/helpers/serialize-noop.js +0 -5
  517. package/src/runtime/helpers/style-value.js +0 -45
  518. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  519. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  520. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  521. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  522. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  523. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  524. package/src/runtime/helpers/tags-compat/html.js +0 -3
  525. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  526. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  527. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  528. package/src/runtime/helpers/to-string.js +0 -5
  529. package/src/runtime/html/AsyncStream.js +0 -805
  530. package/src/runtime/html/BufferedWriter.js +0 -52
  531. package/src/runtime/html/StringWriter.js +0 -73
  532. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  533. package/src/runtime/html/helpers/attr.js +0 -80
  534. package/src/runtime/html/helpers/attrs.js +0 -26
  535. package/src/runtime/html/helpers/class-attr.js +0 -8
  536. package/src/runtime/html/helpers/data-marko.js +0 -36
  537. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  538. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  539. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  540. package/src/runtime/html/helpers/escape-xml.js +0 -21
  541. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  542. package/src/runtime/html/helpers/props-script.js +0 -32
  543. package/src/runtime/html/helpers/style-attr.js +0 -8
  544. package/src/runtime/html/hot-reload.js +0 -26
  545. package/src/runtime/html/index.js +0 -33
  546. package/src/runtime/html/marko-namespace.js +0 -3
  547. package/src/runtime/renderable.js +0 -194
  548. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  549. package/src/runtime/vdom/VComment.js +0 -24
  550. package/src/runtime/vdom/VComponent.js +0 -17
  551. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  552. package/src/runtime/vdom/VElement.js +0 -375
  553. package/src/runtime/vdom/VFragment.js +0 -26
  554. package/src/runtime/vdom/VNode.js +0 -100
  555. package/src/runtime/vdom/VText.js +0 -25
  556. package/src/runtime/vdom/helpers/attrs.js +0 -62
  557. package/src/runtime/vdom/helpers/const-element.js +0 -25
  558. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  559. package/src/runtime/vdom/hot-reload.js +0 -115
  560. package/src/runtime/vdom/index.js +0 -30
  561. package/src/runtime/vdom/is-text-only.js +0 -10
  562. package/src/runtime/vdom/marko-namespace.js +0 -3
  563. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  564. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  565. package/src/runtime/vdom/morphdom/index.js +0 -741
  566. package/src/runtime/vdom/parse-html.js +0 -18
  567. package/src/runtime/vdom/vdom.js +0 -88
  568. package/src/taglib/index.js +0 -51
  569. package/src/translator/cdata/index.js +0 -15
  570. package/src/translator/cdata/index[html].js +0 -15
  571. package/src/translator/cdata/index[vdom].js +0 -12
  572. package/src/translator/class.js +0 -65
  573. package/src/translator/comment/index.js +0 -15
  574. package/src/translator/comment/index[html].js +0 -17
  575. package/src/translator/comment/index[vdom].js +0 -3
  576. package/src/translator/declaration/index.js +0 -15
  577. package/src/translator/declaration/index[html].js +0 -12
  578. package/src/translator/declaration/index[vdom].js +0 -3
  579. package/src/translator/document-type/index.js +0 -15
  580. package/src/translator/document-type/index[html].js +0 -12
  581. package/src/translator/document-type/index[vdom].js +0 -3
  582. package/src/translator/index.js +0 -552
  583. package/src/translator/placeholder/index.js +0 -15
  584. package/src/translator/placeholder/index[html].js +0 -93
  585. package/src/translator/placeholder/index[vdom].js +0 -22
  586. package/src/translator/scriptlet.js +0 -4
  587. package/src/translator/tag/attribute/directives/class.js +0 -42
  588. package/src/translator/tag/attribute/directives/index.js +0 -15
  589. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  590. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  591. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  592. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  593. package/src/translator/tag/attribute/directives/style.js +0 -42
  594. package/src/translator/tag/attribute/index.js +0 -150
  595. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  596. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  597. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  598. package/src/translator/tag/attribute-tag.js +0 -149
  599. package/src/translator/tag/custom-tag.js +0 -146
  600. package/src/translator/tag/dynamic-tag.js +0 -74
  601. package/src/translator/tag/index.js +0 -287
  602. package/src/translator/tag/macro-tag.js +0 -7
  603. package/src/translator/tag/native-tag.js +0 -27
  604. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  605. package/src/translator/tag/native-tag[html]/index.js +0 -221
  606. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  607. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  608. package/src/translator/tag/util.js +0 -246
  609. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  610. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  611. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  612. package/src/translator/taglib/core/conditional/util.js +0 -41
  613. package/src/translator/taglib/core/index.js +0 -474
  614. package/src/translator/taglib/core/macro/parse.js +0 -17
  615. package/src/translator/taglib/core/macro/translate.js +0 -48
  616. package/src/translator/taglib/core/parse-class.js +0 -79
  617. package/src/translator/taglib/core/parse-export.js +0 -14
  618. package/src/translator/taglib/core/parse-import.js +0 -14
  619. package/src/translator/taglib/core/parse-module-code.js +0 -18
  620. package/src/translator/taglib/core/parse-static.js +0 -18
  621. package/src/translator/taglib/core/transform-style.js +0 -66
  622. package/src/translator/taglib/core/translate-await.js +0 -41
  623. package/src/translator/taglib/core/translate-body.js +0 -17
  624. package/src/translator/taglib/core/translate-for.js +0 -156
  625. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  626. package/src/translator/taglib/core/translate-include-content.js +0 -53
  627. package/src/translator/taglib/core/translate-server-only.js +0 -5
  628. package/src/translator/taglib/core/translate-while.js +0 -32
  629. package/src/translator/taglib/index.js +0 -7
  630. package/src/translator/taglib/migrate/all-templates.js +0 -46
  631. package/src/translator/taglib/migrate/index.js +0 -5
  632. package/src/translator/text/index.js +0 -10
  633. package/src/translator/text/index[html].js +0 -12
  634. package/src/translator/text/index[vdom].js +0 -20
  635. package/src/translator/util/add-dependencies.js +0 -329
  636. package/src/translator/util/escape-regexp.js +0 -4
  637. package/src/translator/util/get-component-files.js +0 -86
  638. package/src/translator/util/html-out-write.js +0 -15
  639. package/src/translator/util/key-manager.js +0 -176
  640. package/src/translator/util/optimize-html-writes.js +0 -52
  641. package/src/translator/util/optimize-vdom-create.js +0 -164
  642. package/src/translator/util/plugin-hooks.js +0 -22
  643. package/src/translator/util/runtime-flags.js +0 -3
  644. package/src/translator/util/vdom-out-write.js +0 -10
  645. package/src/translator/util/with-previous-location.js +0 -6
  646. package/tags-html.d.ts +0 -3855
  647. package/translator/index.d.ts +0 -7
  648. package/translator/package.json +0 -5
@@ -1,11 +0,0 @@
1
- {
2
- "main": "./index.js",
3
- "browser": "./index-browser.js",
4
- "exports": {
5
- ".": {
6
- "worker": "./index.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
9
- }
10
- }
11
- }
@@ -1,76 +0,0 @@
1
- "use strict";var Component = require("../../../runtime/components/Component");
2
- var req = require("@internal/require");
3
- var getComponentForEl =
4
- require("@internal/components-util").U_;
5
-
6
- // eslint-disable-next-line no-constant-binary-expression
7
-
8
-
9
- // expose legacy
10
- require("@internal/components-registry")._h_ = exports;
11
- exports.load = function (typeName) {
12
- return exports.defineWidget(req(typeName));
13
- };
14
-
15
- // legacy api
16
- exports.defineComponent = require("../../../runtime/components/legacy/defineComponent-legacy");
17
- exports.defineWidget = require("@internal/components-define-widget-legacy");
18
- exports.defineRenderer = require("../../../runtime/components/legacy/defineRenderer-legacy");
19
- exports.makeRenderable =
20
- exports.renderable = require("../../../runtime/renderable");
21
-
22
- // browser only
23
- var Widget = exports.Widget = Component;
24
- exports.getWidgetForEl = exports.get = function (elOrId) {
25
- var el = elOrId;
26
-
27
- if (typeof elOrId === "string") {
28
- el = document.getElementById(elOrId);
29
- }
30
-
31
- if (el && el.__widget) {
32
- return el.__widget;
33
- }
34
-
35
- return getComponentForEl(el);
36
- };
37
- exports.initWidgets =
38
- require("@internal/components-registry").V_;
39
-
40
- // monkey patch Widget
41
- if (Widget) {
42
- var WidgetProto = Widget.prototype;
43
- WidgetProto.setProps = function (newInput) {
44
- this._i_ = true;
45
- this._j_(newInput);
46
- };
47
- WidgetProto.rerender = function (newInput) {
48
- if (newInput) {
49
- this.setProps(newInput);
50
- }
51
-
52
- this.forceUpdate();
53
- this.update();
54
- };
55
- }
56
-
57
- var RenderResult = require("../../../runtime/RenderResult");
58
-
59
- RenderResult.prototype.getWidget = function () {
60
- // eslint-disable-next-line no-constant-condition
61
-
62
-
63
-
64
- return this.getWidgets()[0];
65
- };
66
- RenderResult.prototype.getWidgets = function () {
67
- // eslint-disable-next-line no-constant-condition
68
-
69
-
70
-
71
- return RenderResult.prototype.getComponents.
72
- apply(this, arguments).
73
- filter(function (component) {
74
- return component.z_;
75
- });
76
- };
@@ -1,16 +0,0 @@
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 =
8
- exports.renderable = require("../../../runtime/renderable");
9
-
10
- // server only
11
- exports.writeInitWidgetsCode = modernMarko.writeInitComponentsCode;
12
- exports.getRenderedWidgets = exports.getRenderedWidgetIds =
13
- modernMarko.getRenderedComponents;
14
- exports.getInitWidgetsCode = function (out) {
15
- return modernMarko.a_(out);
16
- };
@@ -1,11 +0,0 @@
1
- {
2
- "main": "./index.js",
3
- "browser": "./index-browser.js",
4
- "exports": {
5
- ".": {
6
- "worker": "./index.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
9
- }
10
- }
11
- }
@@ -1,586 +0,0 @@
1
- "use strict"; // eslint-disable-next-line no-constant-binary-expression
2
-
3
- var setImmediate = require("@internal/set-immediate")._k_;
4
- var warp10Finalize = require("warp10/finalize");
5
- var defineComponent = require("../../../runtime/components/defineComponent");
6
- var eventDelegation = require("../../../runtime/components/event-delegation");
7
- var createFragmentNode =
8
- require("../../../runtime/vdom/morphdom/fragment")._l_;
9
- var ComponentDef = require("../../../runtime/components/ComponentDef");
10
- var domData = require("../../../runtime/components/dom-data");
11
- var componentsUtil = require("@internal/components-util");
12
- var req = require("@internal/require");
13
- var componentLookup = componentsUtil._m_;
14
- var addComponentRootToKeyedElements =
15
- componentsUtil._n_;
16
- var keysByDOMNode = domData._o_;
17
- var keyedElementsByComponentId = domData._p_;
18
- var componentsByDOMNode = domData._q_;
19
- var serverComponentRootNodes = {};
20
- var serverRenderedMeta = {};
21
- var win = window;
22
- win.Marko = {
23
- Component: function () {}
24
- };
25
-
26
- var DEFAULT_RUNTIME_ID = "M";
27
- var FLAG_WILL_RERENDER_IN_BROWSER = 1;
28
- // var FLAG_HAS_RENDER_BODY = 2;
29
-
30
- var registered = {};
31
- var loaded = {};
32
- var componentTypes = {};
33
- var deferredDefs;
34
- var pendingDefs;
35
-
36
- function register(type, def) {
37
- var pendingForType;
38
- if (pendingDefs) {
39
- pendingForType = pendingDefs[type];
40
- }
41
- registered[type] = def;
42
- delete loaded[type];
43
- delete componentTypes[type];
44
-
45
- if (pendingForType) {
46
- delete pendingDefs[type];
47
- setImmediate(function () {
48
- pendingForType.forEach(function (args) {
49
- tryHydrateComponent(args[0], args[1], args[2], args[3])();
50
- });
51
- });
52
- }
53
-
54
- return type;
55
- }
56
-
57
- function addPendingDef(def, type, meta, host, runtimeId) {
58
- if (!pendingDefs) {
59
- pendingDefs = {};
60
- }
61
- (pendingDefs[type] = pendingDefs[type] || []).push([
62
- def,
63
- meta,
64
- host,
65
- runtimeId]
66
- );
67
- }
68
-
69
- function load(typeName, isLegacy) {
70
- var target = loaded[typeName];
71
- if (!target) {
72
- target = registered[typeName];
73
-
74
- if (target) {
75
- target = target();
76
- } else if (isLegacy) {
77
- target = exports._h_.load(typeName);
78
- } else {
79
- target = req(typeName);
80
- // eslint-disable-next-line no-constant-condition
81
-
82
-
83
-
84
-
85
-
86
- }
87
-
88
- if (!target) {
89
- throw Error("Component not found: " + typeName);
90
- }
91
-
92
- loaded[typeName] = target;
93
- }
94
-
95
- return target;
96
- }
97
-
98
- function getComponentClass(typeName, isLegacy) {
99
- var ComponentClass = componentTypes[typeName];
100
-
101
- if (ComponentClass) {
102
- return ComponentClass;
103
- }
104
-
105
- ComponentClass = load(typeName, isLegacy);
106
-
107
- ComponentClass = ComponentClass.Component || ComponentClass;
108
-
109
- if (!ComponentClass.y_) {
110
- ComponentClass = defineComponent(ComponentClass, ComponentClass.renderer);
111
- }
112
-
113
- // Make the component "type" accessible on each component instance
114
- ComponentClass.prototype._r_ = typeName;
115
-
116
- // eslint-disable-next-line no-constant-condition
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
-
138
-
139
-
140
-
141
- componentTypes[typeName] = ComponentClass;
142
-
143
- return ComponentClass;
144
- }
145
-
146
- function createComponent(typeName, id, isLegacy) {
147
- var ComponentClass = getComponentClass(typeName, isLegacy);
148
- return new ComponentClass(id);
149
- }
150
-
151
- function indexServerComponentBoundaries(node, runtimeId, stack) {
152
- var componentId;
153
- var ownerId;
154
- var ownerComponent;
155
- var keyedElements;
156
- var nextSibling;
157
- var runtimeLength = runtimeId.length;
158
- stack = stack || [];
159
-
160
- node = node.firstChild;
161
- while (node) {
162
- nextSibling = node.nextSibling;
163
- if (node.nodeType === 8) {
164
- // Comment node
165
- var commentValue = node.nodeValue;
166
- if (commentValue.slice(0, runtimeLength) === runtimeId) {
167
- var firstChar = commentValue[runtimeLength];
168
-
169
- if (firstChar === "^" || firstChar === "#") {
170
- stack.push(node);
171
- } else if (firstChar === "/") {
172
- var endNode = node;
173
- var startNode = stack.pop();
174
- var rootNode;
175
-
176
- if (startNode.parentNode === endNode.parentNode) {
177
- rootNode = createFragmentNode(startNode.nextSibling, endNode);
178
- } else {
179
- rootNode = createFragmentNode(
180
- endNode.parentNode.firstChild,
181
- endNode
182
- );
183
- }
184
-
185
- componentId = startNode.nodeValue.substring(runtimeLength + 1);
186
- firstChar = startNode.nodeValue[runtimeLength];
187
-
188
- if (firstChar === "^") {
189
- var parts = componentId.split(/ /g);
190
- var key = parts[2];
191
- ownerId = parts[1];
192
- componentId = parts[0];
193
- if (ownerComponent = componentLookup[ownerId]) {
194
- keyedElements = ownerComponent.L_;
195
- } else {
196
- keyedElements =
197
- keyedElementsByComponentId[ownerId] || (
198
- keyedElementsByComponentId[ownerId] = {});
199
- }
200
- addComponentRootToKeyedElements(
201
- keyedElements,
202
- key,
203
- rootNode,
204
- componentId
205
- );
206
- }
207
-
208
- serverComponentRootNodes[componentId] = rootNode;
209
-
210
- startNode.parentNode.removeChild(startNode);
211
- endNode.parentNode.removeChild(endNode);
212
- }
213
- }
214
- } else if (node.nodeType === 1) {
215
- // HTML element node
216
- var markoKey = node.getAttribute("data-marko-key");
217
- var markoProps = componentsUtil._s_(node);
218
- if (markoKey) {
219
- var separatorIndex = markoKey.indexOf(" ");
220
- ownerId = markoKey.substring(separatorIndex + 1);
221
- markoKey = markoKey.substring(0, separatorIndex);
222
- if (ownerComponent = componentLookup[ownerId]) {
223
- keyedElements = ownerComponent.L_;
224
- } else {
225
- keyedElements =
226
- keyedElementsByComponentId[ownerId] || (
227
- keyedElementsByComponentId[ownerId] = {});
228
- }
229
-
230
- keysByDOMNode.set(node, markoKey);
231
- keyedElements[markoKey] = node;
232
- }
233
- if (markoProps) {
234
- Object.keys(markoProps).forEach(function (key) {
235
- if (key.slice(0, 2) === "on") {
236
- eventDelegation._t_(key.slice(2));
237
- }
238
- });
239
- }
240
- indexServerComponentBoundaries(node, runtimeId, stack);
241
- }
242
-
243
- node = nextSibling;
244
- }
245
- }
246
-
247
- function invokeComponentEventHandler(component, targetMethodName, args) {
248
- var method = component[targetMethodName];
249
- if (!method) {
250
- throw Error("Method not found: " + targetMethodName);
251
- }
252
-
253
- method.apply(component, args);
254
- }
255
-
256
- function addEventListenerHelper(el, eventType, isOnce, listener) {
257
- var eventListener = listener;
258
- if (isOnce) {
259
- eventListener = function (event) {
260
- listener(event);
261
- el.removeEventListener(eventType, eventListener);
262
- };
263
- }
264
-
265
- el.addEventListener(eventType, eventListener, false);
266
-
267
- return function remove() {
268
- el.removeEventListener(eventType, eventListener);
269
- };
270
- }
271
-
272
- function addDOMEventListeners(
273
- component,
274
- el,
275
- eventType,
276
- targetMethodName,
277
- isOnce,
278
- extraArgs,
279
- handles)
280
- {
281
- var removeListener = addEventListenerHelper(
282
- el,
283
- eventType,
284
- isOnce,
285
- function (event) {
286
- var args = [event, el];
287
- if (extraArgs) {
288
- args = extraArgs.concat(args);
289
- }
290
-
291
- invokeComponentEventHandler(component, targetMethodName, args);
292
- }
293
- );
294
- handles.push(removeListener);
295
- }
296
-
297
- function initComponent(componentDef, host) {
298
- var component = componentDef.t_;
299
-
300
- if (!component || !component.y_) {
301
- return; // legacy
302
- }
303
-
304
- component._u_();
305
- component.C_ = host;
306
-
307
- var isExisting = componentDef._v_;
308
-
309
- if (isExisting) {
310
- component._w_();
311
- }
312
-
313
- var domEvents = componentDef._d_;
314
- if (domEvents) {
315
- var eventListenerHandles = [];
316
-
317
- domEvents.forEach(function (domEventArgs) {
318
- // The event mapping is for a direct DOM event (not a custom event and not for bubblign dom events)
319
-
320
- var eventType = domEventArgs[0];
321
- var targetMethodName = domEventArgs[1];
322
- var eventEl = component.L_[domEventArgs[2]];
323
- var isOnce = domEventArgs[3];
324
- var extraArgs = domEventArgs[4];
325
-
326
- addDOMEventListeners(
327
- component,
328
- eventEl,
329
- eventType,
330
- targetMethodName,
331
- isOnce,
332
- extraArgs,
333
- eventListenerHandles
334
- );
335
- });
336
-
337
- if (eventListenerHandles.length) {
338
- component._x_ = eventListenerHandles;
339
- }
340
- }
341
-
342
- if (component._y_) {
343
- component._z_();
344
- } else {
345
- component._y_ = true;
346
- component._A_();
347
- }
348
- }
349
-
350
- /**
351
- * This method is used to initialized components associated with UI components
352
- * rendered in the browser. While rendering UI components a "components context"
353
- * is added to the rendering context to keep up with which components are rendered.
354
- * When ready, the components can then be initialized by walking the component tree
355
- * in the components context (nested components are initialized before ancestor components).
356
- * @param {Array<marko-components/lib/ComponentDef>} componentDefs An array of ComponentDef instances
357
- */
358
- function initClientRendered(componentDefs, host) {
359
- if (!host) host = document;
360
- // Ensure that event handlers to handle delegating events are
361
- // always attached before initializing any components
362
- eventDelegation._B_(host);
363
- var len = componentDefs.length;
364
- var componentDef;
365
- var i;
366
-
367
- for (i = len; i--;) {
368
- componentDef = componentDefs[i];
369
- trackComponent(componentDef);
370
- }
371
-
372
- for (i = len; i--;) {
373
- componentDef = componentDefs[i];
374
- initComponent(componentDef, host);
375
- }
376
- }
377
-
378
- /**
379
- * This method initializes all components that were rendered on the server by iterating over all
380
- * of the component IDs.
381
- */
382
- function initServerRendered(renderedComponents, host) {
383
- var type = typeof renderedComponents;
384
- var globalKey = "$";
385
- var runtimeId;
386
-
387
- if (type !== "object") {
388
- if (type === "string") {
389
- runtimeId = renderedComponents;
390
- globalKey += runtimeId + "_C";
391
- } else {
392
- globalKey += (runtimeId = DEFAULT_RUNTIME_ID) + "C";
393
- }
394
-
395
- renderedComponents = win[globalKey];
396
-
397
- // eslint-disable-next-line no-constant-condition
398
-
399
-
400
-
401
-
402
-
403
-
404
-
405
-
406
-
407
-
408
-
409
-
410
- var fakeArray = win[globalKey] = {
411
- r: runtimeId,
412
- concat: initServerRendered
413
- };
414
-
415
- // eslint-disable-next-line no-constant-condition
416
-
417
-
418
-
419
-
420
- if (renderedComponents && renderedComponents.forEach) {
421
- renderedComponents.forEach(function (renderedComponent) {
422
- fakeArray.concat(renderedComponent);
423
- });
424
- }
425
-
426
- return fakeArray;
427
- }
428
-
429
- var isFromSerializedGlobals = this.concat === initServerRendered;
430
- renderedComponents = warp10Finalize(renderedComponents);
431
-
432
- if (isFromSerializedGlobals) {
433
- runtimeId = this.r;
434
- host = document;
435
- } else {
436
- runtimeId = renderedComponents.r || DEFAULT_RUNTIME_ID;
437
- if (!host) host = document;
438
-
439
- // eslint-disable-next-line no-constant-condition
440
-
441
-
442
-
443
-
444
-
445
- }
446
-
447
- // eslint-disable-next-line no-constant-condition
448
-
449
-
450
-
451
-
452
-
453
-
454
-
455
-
456
- var prefix = renderedComponents.p || "s";
457
- var meta = serverRenderedMeta[prefix];
458
- var isLast = renderedComponents.l;
459
-
460
- if (meta) {
461
- if (isLast) {
462
- delete serverRenderedMeta[prefix];
463
- }
464
- } else {
465
- meta = {};
466
-
467
- if (!isLast) {
468
- serverRenderedMeta[prefix] = meta;
469
- }
470
- }
471
-
472
- // Ensure that event handlers to handle delegating events are
473
- // always attached before initializing any components
474
- indexServerComponentBoundaries(host, runtimeId);
475
- eventDelegation._B_(host);
476
-
477
- if (!meta._C_) {
478
- meta._C_ = Object.assign({
479
- runtimeId: runtimeId,
480
- componentIdPrefix: prefix
481
- }, renderedComponents.g);
482
- }
483
-
484
- if (renderedComponents.t) {
485
- meta._D_ = meta._D_ ?
486
- meta._D_.concat(renderedComponents.t) :
487
- renderedComponents.t;
488
- }
489
-
490
- // hydrate components top down (leaf nodes last)
491
- // and return an array of functions to mount these components
492
- (renderedComponents.w || []).
493
- map(function (componentDef) {
494
- var typeName = meta._D_[componentDef[1]];
495
-
496
- return registered[typeName] ||
497
- req.e(typeName) ?
498
- tryHydrateComponent(componentDef, meta, host, runtimeId) :
499
- addPendingDef(componentDef, typeName, meta, host, runtimeId);
500
- }).
501
- reverse().
502
- forEach(tryInvoke);
503
-
504
- return this;
505
- }
506
-
507
- function tryHydrateComponent(rawDef, meta, host, runtimeId) {
508
- var componentDef = ComponentDef._E_(
509
- rawDef,
510
- meta._D_,
511
- meta._C_,
512
- exports
513
- );
514
- var mount = hydrateComponentAndGetMount(componentDef, host);
515
-
516
- if (!mount) {
517
- // hydrateComponentAndGetMount will return false if there is not rootNode
518
- // for the component. If this is the case, we'll wait until the
519
- // DOM has fully loaded to attempt to init the component again.
520
- if (deferredDefs) {
521
- deferredDefs.push(componentDef);
522
- } else {
523
- deferredDefs = [componentDef];
524
- document.addEventListener("DOMContentLoaded", function () {
525
- indexServerComponentBoundaries(host, runtimeId);
526
- deferredDefs.
527
- map(function (componentDef) {
528
- return hydrateComponentAndGetMount(componentDef, host);
529
- }).
530
- reverse().
531
- forEach(tryInvoke);
532
- deferredDefs.length = 0;
533
- });
534
- }
535
- }
536
-
537
- return mount;
538
- }
539
-
540
- function hydrateComponentAndGetMount(componentDef, host) {
541
- var componentId = componentDef.id;
542
- var component = componentDef.t_;
543
- var rootNode = serverComponentRootNodes[componentId];
544
- var renderResult;
545
-
546
- if (rootNode) {
547
- delete serverComponentRootNodes[componentId];
548
-
549
- component._F_ = rootNode;
550
- componentsByDOMNode.set(rootNode, component);
551
-
552
- if (componentDef.v_ & FLAG_WILL_RERENDER_IN_BROWSER) {
553
- component.C_ = host;
554
- renderResult = component._G_(component.P_, true);
555
- trackComponent(componentDef);
556
- return function mount() {
557
- renderResult.afterInsert(host);
558
- };
559
- } else {
560
- trackComponent(componentDef);
561
- }
562
-
563
- return function mount() {
564
- initComponent(componentDef, host);
565
- };
566
- }
567
- }
568
-
569
- function trackComponent(componentDef) {
570
- var component = componentDef.t_;
571
- if (component) {
572
- componentLookup[component.id] = component;
573
- }
574
- }
575
-
576
- function tryInvoke(fn) {
577
- if (fn) fn();
578
- }
579
-
580
- exports.r = register;
581
- exports._H_ = createComponent;
582
- exports._I_ = getComponentClass;
583
- exports.V_ = win.$initComponents = initServerRendered;
584
-
585
- require("../../../runtime/components/ComponentsContext")._J_ =
586
- initClientRendered;