marko 5.37.6 → 6.0.0-3.12

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/index.d.ts +30 -261
  124. package/package.json +40 -67
  125. package/tag-types/const.d.marko +7 -0
  126. package/tag-types/debug.d.marko +5 -0
  127. package/tag-types/define.d.marko +5 -0
  128. package/tag-types/do.d.marko +5 -0
  129. package/tag-types/effect.d.marko +5 -0
  130. package/tag-types/id.d.marko +3 -0
  131. package/tag-types/let.d.marko +8 -0
  132. package/tag-types/lifecycle.d.marko +7 -0
  133. package/tag-types/log.d.marko +5 -0
  134. package/tag-types/script.d.marko +5 -0
  135. package/tags-html.d.ts +85 -5
  136. package/README.md +0 -161
  137. package/bin/markoc +0 -2
  138. package/bin/markoc.js +0 -441
  139. package/browser-refresh.js +0 -5
  140. package/compiler-browser.marko +0 -15
  141. package/compiler.js +0 -7
  142. package/components-browser.marko +0 -15
  143. package/components.js +0 -7
  144. package/dist/build.json +0 -3
  145. package/dist/compiler/config.js +0 -45
  146. package/dist/compiler/index.js +0 -164
  147. package/dist/compiler/modules.js +0 -5
  148. package/dist/core-tags/components/init-components-tag.js +0 -54
  149. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  150. package/dist/core-tags/components/preserve-tag.js +0 -1
  151. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  152. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  153. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  154. package/dist/core-tags/core/await/index.d.marko +0 -10
  155. package/dist/core-tags/core/await/renderer.js +0 -249
  156. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  157. package/dist/index.js +0 -4
  158. package/dist/node-require/browser-refresh.js +0 -1
  159. package/dist/node-require/hot-reload.js +0 -45
  160. package/dist/node-require/index.js +0 -103
  161. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  162. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  163. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  164. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  165. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  166. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  167. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  168. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  169. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  170. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  171. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  172. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  173. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  174. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  175. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  176. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  177. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  178. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  179. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  180. package/dist/node_modules/@internal/components-util/index.js +0 -71
  181. package/dist/node_modules/@internal/components-util/package.json +0 -11
  182. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  183. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  184. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  185. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  186. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  187. package/dist/node_modules/@internal/loader/index.js +0 -23
  188. package/dist/node_modules/@internal/loader/package.json +0 -10
  189. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  190. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  191. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  192. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  193. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  194. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  195. package/dist/node_modules/@internal/require/index.js +0 -15
  196. package/dist/node_modules/@internal/require/package.json +0 -11
  197. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  198. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  199. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  200. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  201. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  202. package/dist/runtime/RenderResult.js +0 -112
  203. package/dist/runtime/components/Component.js +0 -663
  204. package/dist/runtime/components/ComponentDef.js +0 -169
  205. package/dist/runtime/components/ComponentsContext.js +0 -59
  206. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  207. package/dist/runtime/components/KeySequence.js +0 -16
  208. package/dist/runtime/components/ServerComponent.js +0 -73
  209. package/dist/runtime/components/State.js +0 -101
  210. package/dist/runtime/components/attach-detach.js +0 -60
  211. package/dist/runtime/components/defineComponent.js +0 -60
  212. package/dist/runtime/components/dom-data.js +0 -8
  213. package/dist/runtime/components/event-delegation.js +0 -144
  214. package/dist/runtime/components/index.js +0 -1
  215. package/dist/runtime/components/legacy/browser.json +0 -9
  216. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  217. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  218. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  219. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  220. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  221. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  222. package/dist/runtime/components/legacy/index.js +0 -1
  223. package/dist/runtime/components/legacy/jquery.js +0 -52
  224. package/dist/runtime/components/legacy/ready.js +0 -152
  225. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  226. package/dist/runtime/components/registry.js +0 -1
  227. package/dist/runtime/components/renderer.js +0 -236
  228. package/dist/runtime/components/update-manager.js +0 -94
  229. package/dist/runtime/createOut.js +0 -13
  230. package/dist/runtime/dom-insert.js +0 -77
  231. package/dist/runtime/events.js +0 -2
  232. package/dist/runtime/helpers/_change-case.js +0 -45
  233. package/dist/runtime/helpers/assign.js +0 -21
  234. package/dist/runtime/helpers/attr-tag.js +0 -43
  235. package/dist/runtime/helpers/class-value.js +0 -30
  236. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  237. package/dist/runtime/helpers/empty-component.js +0 -1
  238. package/dist/runtime/helpers/merge.js +0 -13
  239. package/dist/runtime/helpers/of-fallback.js +0 -4
  240. package/dist/runtime/helpers/render-tag.js +0 -20
  241. package/dist/runtime/helpers/serialize-noop.js +0 -5
  242. package/dist/runtime/helpers/style-value.js +0 -45
  243. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  244. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  245. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  246. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  247. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  248. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  249. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  250. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  251. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  252. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  253. package/dist/runtime/helpers/to-string.js +0 -5
  254. package/dist/runtime/html/AsyncStream.js +0 -805
  255. package/dist/runtime/html/BufferedWriter.js +0 -52
  256. package/dist/runtime/html/StringWriter.js +0 -73
  257. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  258. package/dist/runtime/html/helpers/attr.js +0 -80
  259. package/dist/runtime/html/helpers/attrs.js +0 -26
  260. package/dist/runtime/html/helpers/class-attr.js +0 -8
  261. package/dist/runtime/html/helpers/data-marko.js +0 -36
  262. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  263. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  264. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  265. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  266. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  267. package/dist/runtime/html/helpers/props-script.js +0 -32
  268. package/dist/runtime/html/helpers/style-attr.js +0 -8
  269. package/dist/runtime/html/hot-reload.js +0 -26
  270. package/dist/runtime/html/index.js +0 -33
  271. package/dist/runtime/html/marko-namespace.js +0 -3
  272. package/dist/runtime/renderable.js +0 -194
  273. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  274. package/dist/runtime/vdom/VComment.js +0 -24
  275. package/dist/runtime/vdom/VComponent.js +0 -17
  276. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  277. package/dist/runtime/vdom/VElement.js +0 -375
  278. package/dist/runtime/vdom/VFragment.js +0 -26
  279. package/dist/runtime/vdom/VNode.js +0 -100
  280. package/dist/runtime/vdom/VText.js +0 -25
  281. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  282. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  283. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  284. package/dist/runtime/vdom/hot-reload.js +0 -115
  285. package/dist/runtime/vdom/index.js +0 -30
  286. package/dist/runtime/vdom/is-text-only.js +0 -10
  287. package/dist/runtime/vdom/marko-namespace.js +0 -3
  288. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  289. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  290. package/dist/runtime/vdom/morphdom/index.js +0 -741
  291. package/dist/runtime/vdom/parse-html.js +0 -18
  292. package/dist/runtime/vdom/vdom.js +0 -88
  293. package/dist/taglib/index.js +0 -51
  294. package/dist/translator/cdata/index.js +0 -15
  295. package/dist/translator/cdata/index[html].js +0 -15
  296. package/dist/translator/cdata/index[vdom].js +0 -12
  297. package/dist/translator/class.js +0 -65
  298. package/dist/translator/comment/index.js +0 -15
  299. package/dist/translator/comment/index[html].js +0 -17
  300. package/dist/translator/comment/index[vdom].js +0 -3
  301. package/dist/translator/declaration/index.js +0 -15
  302. package/dist/translator/declaration/index[html].js +0 -12
  303. package/dist/translator/declaration/index[vdom].js +0 -3
  304. package/dist/translator/document-type/index.js +0 -15
  305. package/dist/translator/document-type/index[html].js +0 -12
  306. package/dist/translator/document-type/index[vdom].js +0 -3
  307. package/dist/translator/placeholder/index.js +0 -15
  308. package/dist/translator/placeholder/index[html].js +0 -93
  309. package/dist/translator/placeholder/index[vdom].js +0 -22
  310. package/dist/translator/scriptlet.js +0 -4
  311. package/dist/translator/tag/attribute/directives/class.js +0 -42
  312. package/dist/translator/tag/attribute/directives/index.js +0 -15
  313. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  314. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  315. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  316. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  317. package/dist/translator/tag/attribute/directives/style.js +0 -42
  318. package/dist/translator/tag/attribute/index.js +0 -150
  319. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  320. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  321. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  322. package/dist/translator/tag/attribute-tag.js +0 -149
  323. package/dist/translator/tag/custom-tag.js +0 -146
  324. package/dist/translator/tag/dynamic-tag.js +0 -74
  325. package/dist/translator/tag/index.js +0 -287
  326. package/dist/translator/tag/macro-tag.js +0 -7
  327. package/dist/translator/tag/native-tag.js +0 -27
  328. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  329. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  330. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  331. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  332. package/dist/translator/tag/util.js +0 -246
  333. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  334. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  335. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  336. package/dist/translator/taglib/core/conditional/util.js +0 -41
  337. package/dist/translator/taglib/core/index.js +0 -474
  338. package/dist/translator/taglib/core/macro/parse.js +0 -17
  339. package/dist/translator/taglib/core/macro/translate.js +0 -48
  340. package/dist/translator/taglib/core/parse-class.js +0 -79
  341. package/dist/translator/taglib/core/parse-export.js +0 -14
  342. package/dist/translator/taglib/core/parse-import.js +0 -14
  343. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  344. package/dist/translator/taglib/core/parse-static.js +0 -18
  345. package/dist/translator/taglib/core/transform-style.js +0 -66
  346. package/dist/translator/taglib/core/translate-await.js +0 -41
  347. package/dist/translator/taglib/core/translate-body.js +0 -17
  348. package/dist/translator/taglib/core/translate-for.js +0 -156
  349. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  350. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  351. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  352. package/dist/translator/taglib/core/translate-while.js +0 -32
  353. package/dist/translator/taglib/index.js +0 -6
  354. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  355. package/dist/translator/taglib/migrate/index.js +0 -5
  356. package/dist/translator/text/index.js +0 -10
  357. package/dist/translator/text/index[html].js +0 -12
  358. package/dist/translator/text/index[vdom].js +0 -20
  359. package/dist/translator/util/add-dependencies.js +0 -329
  360. package/dist/translator/util/escape-regexp.js +0 -4
  361. package/dist/translator/util/get-component-files.js +0 -86
  362. package/dist/translator/util/html-out-write.js +0 -15
  363. package/dist/translator/util/key-manager.js +0 -176
  364. package/dist/translator/util/optimize-html-writes.js +0 -52
  365. package/dist/translator/util/optimize-vdom-create.js +0 -164
  366. package/dist/translator/util/plugin-hooks.js +0 -22
  367. package/dist/translator/util/runtime-flags.js +0 -3
  368. package/dist/translator/util/vdom-out-write.js +0 -10
  369. package/dist/translator/util/with-previous-location.js +0 -6
  370. package/docs/10-awesome-marko-features.md +0 -291
  371. package/docs/body-content.md +0 -355
  372. package/docs/class-components.md +0 -1001
  373. package/docs/cloudflare-workers.md +0 -32
  374. package/docs/compiler-hooks.png +0 -0
  375. package/docs/compiler.md +0 -473
  376. package/docs/component-diagram.afdesign +0 -0
  377. package/docs/component-diagram.svg +0 -87
  378. package/docs/concise.md +0 -141
  379. package/docs/conditionals-and-lists.md +0 -72
  380. package/docs/core-tags.md +0 -325
  381. package/docs/custom-tags.md +0 -201
  382. package/docs/editor-plugins.md +0 -45
  383. package/docs/events.md +0 -131
  384. package/docs/express.md +0 -66
  385. package/docs/fastify.md +0 -65
  386. package/docs/getting-started.md +0 -95
  387. package/docs/http.md +0 -34
  388. package/docs/icons/js.svg +0 -4
  389. package/docs/icons/marko.svg +0 -1
  390. package/docs/icons/ts.svg +0 -1
  391. package/docs/installing.md +0 -51
  392. package/docs/koa.md +0 -35
  393. package/docs/lasso.md +0 -196
  394. package/docs/marko-5-upgrade.md +0 -59
  395. package/docs/marko-json.md +0 -248
  396. package/docs/marko-vs-react.md +0 -854
  397. package/docs/redux.md +0 -61
  398. package/docs/rendering.md +0 -268
  399. package/docs/rollup.md +0 -352
  400. package/docs/state.md +0 -105
  401. package/docs/structure.json +0 -49
  402. package/docs/styles.md +0 -29
  403. package/docs/syntax.md +0 -601
  404. package/docs/troubleshooting-streaming.md +0 -68
  405. package/docs/typescript.md +0 -406
  406. package/docs/vite.md +0 -86
  407. package/docs/webpack.md +0 -205
  408. package/docs/why-is-marko-fast.md +0 -239
  409. package/env.js +0 -7
  410. package/helpers/README.md +0 -3
  411. package/helpers/empty.js +0 -4
  412. package/helpers/notEmpty.js +0 -11
  413. package/index-browser.marko +0 -15
  414. package/index.js +0 -7
  415. package/legacy-components-browser.marko +0 -15
  416. package/legacy-components.js +0 -7
  417. package/node-require.js +0 -8
  418. package/src/build.json +0 -3
  419. package/src/compiler/config.js +0 -45
  420. package/src/compiler/index.js +0 -164
  421. package/src/compiler/modules.js +0 -5
  422. package/src/core-tags/.eslintrc +0 -5
  423. package/src/core-tags/components/init-components-tag.js +0 -54
  424. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  425. package/src/core-tags/components/preserve-tag.js +0 -1
  426. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  427. package/src/core-tags/core/await/AsyncValue.js +0 -121
  428. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  429. package/src/core-tags/core/await/index.d.marko +0 -10
  430. package/src/core-tags/core/await/renderer.js +0 -249
  431. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  432. package/src/index.js +0 -4
  433. package/src/node-require/browser-refresh.js +0 -18
  434. package/src/node-require/hot-reload.js +0 -45
  435. package/src/node-require/index.js +0 -103
  436. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  437. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  438. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  439. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  440. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  441. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  442. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  443. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  444. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  445. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  446. package/src/node_modules/@internal/components-entry/index.js +0 -301
  447. package/src/node_modules/@internal/components-entry/package.json +0 -11
  448. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  449. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  450. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  451. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  452. package/src/node_modules/@internal/components-registry/index.js +0 -44
  453. package/src/node_modules/@internal/components-registry/package.json +0 -11
  454. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  455. package/src/node_modules/@internal/components-util/index.js +0 -75
  456. package/src/node_modules/@internal/components-util/package.json +0 -11
  457. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  458. package/src/node_modules/@internal/create-readable/index.js +0 -57
  459. package/src/node_modules/@internal/create-readable/package.json +0 -11
  460. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  461. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  462. package/src/node_modules/@internal/loader/index.js +0 -23
  463. package/src/node_modules/@internal/loader/package.json +0 -10
  464. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  465. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  466. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  467. package/src/node_modules/@internal/require/index-browser.js +0 -15
  468. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  469. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  470. package/src/node_modules/@internal/require/index.js +0 -15
  471. package/src/node_modules/@internal/require/package.json +0 -11
  472. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  473. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  474. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  475. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  476. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  477. package/src/runtime/.eslintrc +0 -5
  478. package/src/runtime/RenderResult.js +0 -112
  479. package/src/runtime/components/Component.js +0 -663
  480. package/src/runtime/components/ComponentDef.js +0 -169
  481. package/src/runtime/components/ComponentsContext.js +0 -59
  482. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  483. package/src/runtime/components/KeySequence.js +0 -16
  484. package/src/runtime/components/ServerComponent.js +0 -73
  485. package/src/runtime/components/State.js +0 -101
  486. package/src/runtime/components/attach-detach.js +0 -60
  487. package/src/runtime/components/defineComponent.js +0 -60
  488. package/src/runtime/components/dom-data.js +0 -8
  489. package/src/runtime/components/event-delegation.js +0 -144
  490. package/src/runtime/components/index.js +0 -1
  491. package/src/runtime/components/legacy/browser.json +0 -9
  492. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  493. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  494. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  495. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  496. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  497. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  498. package/src/runtime/components/legacy/index.js +0 -1
  499. package/src/runtime/components/legacy/jquery.js +0 -52
  500. package/src/runtime/components/legacy/ready.js +0 -152
  501. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  502. package/src/runtime/components/registry.js +0 -1
  503. package/src/runtime/components/renderer.js +0 -236
  504. package/src/runtime/components/update-manager.js +0 -94
  505. package/src/runtime/createOut.js +0 -13
  506. package/src/runtime/dom-insert.js +0 -77
  507. package/src/runtime/events.js +0 -2
  508. package/src/runtime/helpers/_change-case.js +0 -45
  509. package/src/runtime/helpers/assign.js +0 -21
  510. package/src/runtime/helpers/attr-tag.js +0 -43
  511. package/src/runtime/helpers/class-value.js +0 -30
  512. package/src/runtime/helpers/dynamic-tag.js +0 -181
  513. package/src/runtime/helpers/empty-component.js +0 -1
  514. package/src/runtime/helpers/merge.js +0 -13
  515. package/src/runtime/helpers/of-fallback.js +0 -4
  516. package/src/runtime/helpers/render-tag.js +0 -20
  517. package/src/runtime/helpers/serialize-noop.js +0 -5
  518. package/src/runtime/helpers/style-value.js +0 -45
  519. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  520. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  521. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  522. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  523. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  524. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  525. package/src/runtime/helpers/tags-compat/html.js +0 -3
  526. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  527. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  528. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  529. package/src/runtime/helpers/to-string.js +0 -5
  530. package/src/runtime/html/AsyncStream.js +0 -805
  531. package/src/runtime/html/BufferedWriter.js +0 -52
  532. package/src/runtime/html/StringWriter.js +0 -73
  533. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  534. package/src/runtime/html/helpers/attr.js +0 -80
  535. package/src/runtime/html/helpers/attrs.js +0 -26
  536. package/src/runtime/html/helpers/class-attr.js +0 -8
  537. package/src/runtime/html/helpers/data-marko.js +0 -36
  538. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  539. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  540. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  541. package/src/runtime/html/helpers/escape-xml.js +0 -21
  542. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  543. package/src/runtime/html/helpers/props-script.js +0 -32
  544. package/src/runtime/html/helpers/style-attr.js +0 -8
  545. package/src/runtime/html/hot-reload.js +0 -26
  546. package/src/runtime/html/index.js +0 -33
  547. package/src/runtime/html/marko-namespace.js +0 -3
  548. package/src/runtime/renderable.js +0 -194
  549. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  550. package/src/runtime/vdom/VComment.js +0 -24
  551. package/src/runtime/vdom/VComponent.js +0 -17
  552. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  553. package/src/runtime/vdom/VElement.js +0 -375
  554. package/src/runtime/vdom/VFragment.js +0 -26
  555. package/src/runtime/vdom/VNode.js +0 -100
  556. package/src/runtime/vdom/VText.js +0 -25
  557. package/src/runtime/vdom/helpers/attrs.js +0 -62
  558. package/src/runtime/vdom/helpers/const-element.js +0 -25
  559. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  560. package/src/runtime/vdom/hot-reload.js +0 -115
  561. package/src/runtime/vdom/index.js +0 -30
  562. package/src/runtime/vdom/is-text-only.js +0 -10
  563. package/src/runtime/vdom/marko-namespace.js +0 -3
  564. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  565. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  566. package/src/runtime/vdom/morphdom/index.js +0 -741
  567. package/src/runtime/vdom/parse-html.js +0 -18
  568. package/src/runtime/vdom/vdom.js +0 -88
  569. package/src/taglib/index.js +0 -51
  570. package/src/translator/cdata/index.js +0 -15
  571. package/src/translator/cdata/index[html].js +0 -15
  572. package/src/translator/cdata/index[vdom].js +0 -12
  573. package/src/translator/class.js +0 -65
  574. package/src/translator/comment/index.js +0 -15
  575. package/src/translator/comment/index[html].js +0 -17
  576. package/src/translator/comment/index[vdom].js +0 -3
  577. package/src/translator/declaration/index.js +0 -15
  578. package/src/translator/declaration/index[html].js +0 -12
  579. package/src/translator/declaration/index[vdom].js +0 -3
  580. package/src/translator/document-type/index.js +0 -15
  581. package/src/translator/document-type/index[html].js +0 -12
  582. package/src/translator/document-type/index[vdom].js +0 -3
  583. package/src/translator/index.js +0 -552
  584. package/src/translator/placeholder/index.js +0 -15
  585. package/src/translator/placeholder/index[html].js +0 -93
  586. package/src/translator/placeholder/index[vdom].js +0 -22
  587. package/src/translator/scriptlet.js +0 -4
  588. package/src/translator/tag/attribute/directives/class.js +0 -42
  589. package/src/translator/tag/attribute/directives/index.js +0 -15
  590. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  591. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  592. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  593. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  594. package/src/translator/tag/attribute/directives/style.js +0 -42
  595. package/src/translator/tag/attribute/index.js +0 -150
  596. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  597. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  598. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  599. package/src/translator/tag/attribute-tag.js +0 -149
  600. package/src/translator/tag/custom-tag.js +0 -146
  601. package/src/translator/tag/dynamic-tag.js +0 -74
  602. package/src/translator/tag/index.js +0 -287
  603. package/src/translator/tag/macro-tag.js +0 -7
  604. package/src/translator/tag/native-tag.js +0 -27
  605. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  606. package/src/translator/tag/native-tag[html]/index.js +0 -221
  607. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  608. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  609. package/src/translator/tag/util.js +0 -246
  610. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  611. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  612. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  613. package/src/translator/taglib/core/conditional/util.js +0 -41
  614. package/src/translator/taglib/core/index.js +0 -474
  615. package/src/translator/taglib/core/macro/parse.js +0 -17
  616. package/src/translator/taglib/core/macro/translate.js +0 -48
  617. package/src/translator/taglib/core/parse-class.js +0 -79
  618. package/src/translator/taglib/core/parse-export.js +0 -14
  619. package/src/translator/taglib/core/parse-import.js +0 -14
  620. package/src/translator/taglib/core/parse-module-code.js +0 -18
  621. package/src/translator/taglib/core/parse-static.js +0 -18
  622. package/src/translator/taglib/core/transform-style.js +0 -66
  623. package/src/translator/taglib/core/translate-await.js +0 -41
  624. package/src/translator/taglib/core/translate-body.js +0 -17
  625. package/src/translator/taglib/core/translate-for.js +0 -156
  626. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  627. package/src/translator/taglib/core/translate-include-content.js +0 -53
  628. package/src/translator/taglib/core/translate-server-only.js +0 -5
  629. package/src/translator/taglib/core/translate-while.js +0 -32
  630. package/src/translator/taglib/index.js +0 -7
  631. package/src/translator/taglib/migrate/all-templates.js +0 -46
  632. package/src/translator/taglib/migrate/index.js +0 -5
  633. package/src/translator/text/index.js +0 -10
  634. package/src/translator/text/index[html].js +0 -12
  635. package/src/translator/text/index[vdom].js +0 -20
  636. package/src/translator/util/add-dependencies.js +0 -329
  637. package/src/translator/util/escape-regexp.js +0 -4
  638. package/src/translator/util/get-component-files.js +0 -86
  639. package/src/translator/util/html-out-write.js +0 -15
  640. package/src/translator/util/key-manager.js +0 -176
  641. package/src/translator/util/optimize-html-writes.js +0 -52
  642. package/src/translator/util/optimize-vdom-create.js +0 -164
  643. package/src/translator/util/plugin-hooks.js +0 -22
  644. package/src/translator/util/runtime-flags.js +0 -3
  645. package/src/translator/util/vdom-out-write.js +0 -10
  646. package/src/translator/util/with-previous-location.js +0 -6
  647. package/translator/index.d.ts +0 -7
  648. package/translator/package.json +0 -5
@@ -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;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- const copyProps = require("raptor-util/copyProps");
3
- const constructorCache = new Map();
4
- const BaseServerComponent = require("../../../runtime/components/ServerComponent");
5
-
6
- function createServerComponentClass(renderingLogic) {
7
- var renderingLogicProps =
8
- typeof renderingLogic === "function"
9
- ? renderingLogic.prototype
10
- : renderingLogic;
11
-
12
- class ServerComponent extends BaseServerComponent {}
13
-
14
- copyProps(renderingLogicProps, ServerComponent.prototype);
15
-
16
- return ServerComponent;
17
- }
18
- function createComponent(
19
- renderingLogic,
20
- id,
21
- input,
22
- out,
23
- typeName,
24
- customEvents,
25
- scope
26
- ) {
27
- let ServerComponent;
28
-
29
- if (renderingLogic) {
30
- ServerComponent = constructorCache.get(renderingLogic);
31
-
32
- if (!ServerComponent) {
33
- ServerComponent = createServerComponentClass(renderingLogic);
34
- constructorCache.set(renderingLogic, ServerComponent);
35
- }
36
- } else {
37
- ServerComponent = BaseServerComponent;
38
- }
39
-
40
- return new ServerComponent(id, input, out, typeName, customEvents, scope);
41
- }
42
-
43
- exports.___isServer = true;
44
- exports.___createComponent = createComponent;
@@ -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
- }