marko 5.37.6 → 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
- var Component = require("../../../runtime/components/Component");
2
- var req = require("@internal/require");
3
- var getComponentForEl =
4
- require("@internal/components-util").___getComponentForEl;
5
-
6
- // eslint-disable-next-line no-constant-binary-expression
7
- var complain = "MARKO_DEBUG" && require("complain");
8
-
9
- // expose legacy
10
- require("@internal/components-registry").___legacy = 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").___initServerRendered;
39
-
40
- // monkey patch Widget
41
- if (Widget) {
42
- var WidgetProto = Widget.prototype;
43
- WidgetProto.setProps = function (newInput) {
44
- this.___isReceivingNewInput = true;
45
- this.___setInput(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
- if ("MARKO_DEBUG") {
62
- complain("getWidget is deprecated. use getComponent instead.");
63
- }
64
- return this.getWidgets()[0];
65
- };
66
- RenderResult.prototype.getWidgets = function () {
67
- // eslint-disable-next-line no-constant-condition
68
- if ("MARKO_DEBUG") {
69
- complain("getWidgets is deprecated. use getComponents instead.");
70
- }
71
- return RenderResult.prototype.getComponents
72
- .apply(this, arguments)
73
- .filter(function (component) {
74
- return component.___isLegacy;
75
- });
76
- };
@@ -1,16 +0,0 @@
1
- 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.___getInitComponentsCode(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
- // eslint-disable-next-line no-constant-binary-expression
2
- var complain = "MARKO_DEBUG" && require("complain");
3
- var setImmediate = require("@internal/set-immediate").___setImmediate;
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").___createFragmentNode;
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.___componentLookup;
14
- var addComponentRootToKeyedElements =
15
- componentsUtil.___addComponentRootToKeyedElements;
16
- var keysByDOMNode = domData.___keyByDOMNode;
17
- var keyedElementsByComponentId = domData.___ssrKeyedElementsByComponentId;
18
- var componentsByDOMNode = domData.___componentByDOMNode;
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.___legacy.load(typeName);
78
- } else {
79
- target = req(typeName);
80
- // eslint-disable-next-line no-constant-condition
81
- if ("MARKO_DEBUG") {
82
- complain(
83
- "Looks like you used `require:` in your browser.json to load a component. This requires that Marko has knowledge of how lasso generates paths and will be removed in a future version. `marko-dependencies:/path/to/template.marko` should be used instead."
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.___isComponent) {
110
- ComponentClass = defineComponent(ComponentClass, ComponentClass.renderer);
111
- }
112
-
113
- // Make the component "type" accessible on each component instance
114
- ComponentClass.prototype.___type = typeName;
115
-
116
- // eslint-disable-next-line no-constant-condition
117
- if ("MARKO_DEBUG") {
118
- var classNameMatch =
119
- /\/([^/]+?)(?:\/index|\/template|)(?:\.marko|\.component(?:-browser)?|)$/.exec(
120
- typeName
121
- );
122
- var className = classNameMatch ? classNameMatch[1] : "AnonymousComponent";
123
- className = className.replace(/-(.)/g, function (g) {
124
- return g[1].toUpperCase();
125
- });
126
- className = className
127
- .replace(/\$\d+\.\d+\.\d+$/, "")
128
- .replace(/^[^a-z$_]/i, "_$&")
129
- .replace(/[^0-9a-z$_]+/gi, "_");
130
- className = className[0].toUpperCase() + className.slice(1);
131
-
132
- var OldComponentClass = ComponentClass;
133
- ComponentClass = {
134
- [className]: function (id, doc) {
135
- OldComponentClass.call(this, id, doc);
136
- },
137
- }[className];
138
- ComponentClass.prototype = OldComponentClass.prototype;
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.___keyedElements;
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.___getMarkoPropsFromEl(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.___keyedElements;
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.___addDelegatedEventHandler(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.___component;
299
-
300
- if (!component || !component.___isComponent) {
301
- return; // legacy
302
- }
303
-
304
- component.___reset();
305
- component.___host = host;
306
-
307
- var isExisting = componentDef.___isExisting;
308
-
309
- if (isExisting) {
310
- component.___removeDOMEventListeners();
311
- }
312
-
313
- var domEvents = componentDef.___domEvents;
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.___keyedElements[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.___domEventListenerHandles = eventListenerHandles;
339
- }
340
- }
341
-
342
- if (component.___mounted) {
343
- component.___emitUpdate();
344
- } else {
345
- component.___mounted = true;
346
- component.___emitMount();
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.___init(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
- if ("MARKO_DEBUG") {
399
- if (
400
- renderedComponents &&
401
- renderedComponents.i !== undefined &&
402
- renderedComponents.i !== componentsUtil.___runtimeId
403
- ) {
404
- console.warn(
405
- "Multiple instances of Marko have attached to the same runtime id. This could mean that more than one copy of Marko is loaded on the page, or that the script containing Marko has executed more than once."
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
- if ("MARKO_DEBUG") {
417
- fakeArray.i = componentsUtil.___runtimeId;
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
- if ("MARKO_DEBUG") {
441
- complain(
442
- "Passing serialized data to `require('marko/components).init` is deprecated. Instead set '$global.runtimeId' and provide the 'runtimeId' option to your Marko bundler plugin."
443
- );
444
- }
445
- }
446
-
447
- // eslint-disable-next-line no-constant-condition
448
- if ("MARKO_DEBUG") {
449
- if (host !== document) {
450
- complain(
451
- "Passing a document other than the current document to `require('marko/components).init` is deprecated."
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.___init(host);
476
-
477
- if (!meta.___globals) {
478
- meta.___globals = Object.assign({
479
- runtimeId: runtimeId,
480
- componentIdPrefix: prefix,
481
- }, renderedComponents.g);
482
- }
483
-
484
- if (renderedComponents.t) {
485
- meta.___types = meta.___types
486
- ? meta.___types.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.___types[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.___deserialize(
509
- rawDef,
510
- meta.___types,
511
- meta.___globals,
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.___component;
543
- var rootNode = serverComponentRootNodes[componentId];
544
- var renderResult;
545
-
546
- if (rootNode) {
547
- delete serverComponentRootNodes[componentId];
548
-
549
- component.___rootNode = rootNode;
550
- componentsByDOMNode.set(rootNode, component);
551
-
552
- if (componentDef.___flags & FLAG_WILL_RERENDER_IN_BROWSER) {
553
- component.___host = host;
554
- renderResult = component.___rerender(component.___input, 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.___component;
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.___createComponent = createComponent;
582
- exports.___getComponentClass = getComponentClass;
583
- exports.___initServerRendered = win.$initComponents = initServerRendered;
584
-
585
- require("../../../runtime/components/ComponentsContext").___initClientRendered =
586
- initClientRendered;