marko 5.37.0 → 6.0.0-3.4

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 (638) 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 +2112 -0
  8. package/dist/debug/dom.mjs +2089 -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 +9143 -489
  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 +33 -74
  124. package/README.md +0 -161
  125. package/bin/markoc +0 -2
  126. package/bin/markoc.js +0 -441
  127. package/browser-refresh.js +0 -5
  128. package/compiler-browser.marko +0 -15
  129. package/compiler.js +0 -7
  130. package/components-browser.marko +0 -15
  131. package/components.js +0 -7
  132. package/dist/build.json +0 -3
  133. package/dist/compiler/config.js +0 -45
  134. package/dist/compiler/index.js +0 -164
  135. package/dist/compiler/modules.js +0 -5
  136. package/dist/core-tags/components/init-components-tag.js +0 -54
  137. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  138. package/dist/core-tags/components/preserve-tag.js +0 -1
  139. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  140. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  141. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  142. package/dist/core-tags/core/await/index.d.marko +0 -10
  143. package/dist/core-tags/core/await/renderer.js +0 -249
  144. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  145. package/dist/index.js +0 -4
  146. package/dist/node-require/browser-refresh.js +0 -18
  147. package/dist/node-require/hot-reload.js +0 -45
  148. package/dist/node-require/index.js +0 -103
  149. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  150. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  151. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  152. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  153. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  154. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  155. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  156. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  157. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  158. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  159. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  160. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  161. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  162. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  163. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  164. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  165. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  166. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  167. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  168. package/dist/node_modules/@internal/components-util/index.js +0 -75
  169. package/dist/node_modules/@internal/components-util/package.json +0 -11
  170. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  171. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  172. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  173. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  174. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  175. package/dist/node_modules/@internal/loader/index.js +0 -23
  176. package/dist/node_modules/@internal/loader/package.json +0 -10
  177. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  178. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  179. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  180. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  181. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  182. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  183. package/dist/node_modules/@internal/require/index.js +0 -15
  184. package/dist/node_modules/@internal/require/package.json +0 -11
  185. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  186. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  187. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  188. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  189. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  190. package/dist/runtime/RenderResult.js +0 -112
  191. package/dist/runtime/components/Component.js +0 -663
  192. package/dist/runtime/components/ComponentDef.js +0 -169
  193. package/dist/runtime/components/ComponentsContext.js +0 -59
  194. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  195. package/dist/runtime/components/KeySequence.js +0 -16
  196. package/dist/runtime/components/ServerComponent.js +0 -73
  197. package/dist/runtime/components/State.js +0 -101
  198. package/dist/runtime/components/attach-detach.js +0 -60
  199. package/dist/runtime/components/defineComponent.js +0 -60
  200. package/dist/runtime/components/dom-data.js +0 -8
  201. package/dist/runtime/components/event-delegation.js +0 -144
  202. package/dist/runtime/components/index.js +0 -1
  203. package/dist/runtime/components/legacy/browser.json +0 -9
  204. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  205. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  206. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  207. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  208. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  209. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  210. package/dist/runtime/components/legacy/index.js +0 -1
  211. package/dist/runtime/components/legacy/jquery.js +0 -52
  212. package/dist/runtime/components/legacy/ready.js +0 -152
  213. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  214. package/dist/runtime/components/registry.js +0 -1
  215. package/dist/runtime/components/renderer.js +0 -236
  216. package/dist/runtime/components/update-manager.js +0 -94
  217. package/dist/runtime/createOut.js +0 -13
  218. package/dist/runtime/dom-insert.js +0 -77
  219. package/dist/runtime/events.js +0 -2
  220. package/dist/runtime/helpers/_change-case.js +0 -45
  221. package/dist/runtime/helpers/assign.js +0 -21
  222. package/dist/runtime/helpers/attr-tag.js +0 -43
  223. package/dist/runtime/helpers/class-value.js +0 -30
  224. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  225. package/dist/runtime/helpers/empty-component.js +0 -1
  226. package/dist/runtime/helpers/merge.js +0 -13
  227. package/dist/runtime/helpers/of-fallback.js +0 -4
  228. package/dist/runtime/helpers/render-tag.js +0 -20
  229. package/dist/runtime/helpers/serialize-noop.js +0 -5
  230. package/dist/runtime/helpers/style-value.js +0 -45
  231. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  232. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  233. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  234. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  235. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  236. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  237. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  238. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  239. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  240. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  241. package/dist/runtime/helpers/to-string.js +0 -5
  242. package/dist/runtime/html/AsyncStream.js +0 -805
  243. package/dist/runtime/html/BufferedWriter.js +0 -52
  244. package/dist/runtime/html/StringWriter.js +0 -73
  245. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  246. package/dist/runtime/html/helpers/attr.js +0 -80
  247. package/dist/runtime/html/helpers/attrs.js +0 -26
  248. package/dist/runtime/html/helpers/class-attr.js +0 -8
  249. package/dist/runtime/html/helpers/data-marko.js +0 -36
  250. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  251. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  252. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  253. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  254. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  255. package/dist/runtime/html/helpers/props-script.js +0 -32
  256. package/dist/runtime/html/helpers/style-attr.js +0 -8
  257. package/dist/runtime/html/hot-reload.js +0 -26
  258. package/dist/runtime/html/index.js +0 -33
  259. package/dist/runtime/html/marko-namespace.js +0 -3
  260. package/dist/runtime/renderable.js +0 -194
  261. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  262. package/dist/runtime/vdom/VComment.js +0 -24
  263. package/dist/runtime/vdom/VComponent.js +0 -17
  264. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  265. package/dist/runtime/vdom/VElement.js +0 -375
  266. package/dist/runtime/vdom/VFragment.js +0 -26
  267. package/dist/runtime/vdom/VNode.js +0 -100
  268. package/dist/runtime/vdom/VText.js +0 -25
  269. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  270. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  271. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  272. package/dist/runtime/vdom/hot-reload.js +0 -115
  273. package/dist/runtime/vdom/index.js +0 -30
  274. package/dist/runtime/vdom/is-text-only.js +0 -10
  275. package/dist/runtime/vdom/marko-namespace.js +0 -3
  276. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  277. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  278. package/dist/runtime/vdom/morphdom/index.js +0 -741
  279. package/dist/runtime/vdom/parse-html.js +0 -18
  280. package/dist/runtime/vdom/vdom.js +0 -88
  281. package/dist/taglib/index.js +0 -51
  282. package/dist/translator/cdata/index.js +0 -15
  283. package/dist/translator/cdata/index[html].js +0 -15
  284. package/dist/translator/cdata/index[vdom].js +0 -12
  285. package/dist/translator/class.js +0 -65
  286. package/dist/translator/comment/index.js +0 -15
  287. package/dist/translator/comment/index[html].js +0 -17
  288. package/dist/translator/comment/index[vdom].js +0 -3
  289. package/dist/translator/declaration/index.js +0 -15
  290. package/dist/translator/declaration/index[html].js +0 -12
  291. package/dist/translator/declaration/index[vdom].js +0 -3
  292. package/dist/translator/document-type/index.js +0 -15
  293. package/dist/translator/document-type/index[html].js +0 -12
  294. package/dist/translator/document-type/index[vdom].js +0 -3
  295. package/dist/translator/placeholder/index.js +0 -15
  296. package/dist/translator/placeholder/index[html].js +0 -93
  297. package/dist/translator/placeholder/index[vdom].js +0 -22
  298. package/dist/translator/scriptlet.js +0 -4
  299. package/dist/translator/tag/attribute/directives/class.js +0 -42
  300. package/dist/translator/tag/attribute/directives/index.js +0 -15
  301. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  302. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  303. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  304. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  305. package/dist/translator/tag/attribute/directives/style.js +0 -42
  306. package/dist/translator/tag/attribute/index.js +0 -150
  307. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  308. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  309. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  310. package/dist/translator/tag/attribute-tag.js +0 -149
  311. package/dist/translator/tag/custom-tag.js +0 -146
  312. package/dist/translator/tag/dynamic-tag.js +0 -74
  313. package/dist/translator/tag/index.js +0 -287
  314. package/dist/translator/tag/macro-tag.js +0 -7
  315. package/dist/translator/tag/native-tag.js +0 -27
  316. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  317. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  318. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  319. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  320. package/dist/translator/tag/util.js +0 -246
  321. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  322. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  323. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  324. package/dist/translator/taglib/core/conditional/util.js +0 -41
  325. package/dist/translator/taglib/core/index.js +0 -474
  326. package/dist/translator/taglib/core/macro/parse.js +0 -17
  327. package/dist/translator/taglib/core/macro/translate.js +0 -48
  328. package/dist/translator/taglib/core/parse-class.js +0 -79
  329. package/dist/translator/taglib/core/parse-export.js +0 -14
  330. package/dist/translator/taglib/core/parse-import.js +0 -14
  331. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  332. package/dist/translator/taglib/core/parse-static.js +0 -18
  333. package/dist/translator/taglib/core/transform-style.js +0 -66
  334. package/dist/translator/taglib/core/translate-await.js +0 -41
  335. package/dist/translator/taglib/core/translate-body.js +0 -17
  336. package/dist/translator/taglib/core/translate-for.js +0 -156
  337. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  338. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  339. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  340. package/dist/translator/taglib/core/translate-while.js +0 -32
  341. package/dist/translator/taglib/index.js +0 -6
  342. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  343. package/dist/translator/taglib/migrate/index.js +0 -5
  344. package/dist/translator/text/index.js +0 -10
  345. package/dist/translator/text/index[html].js +0 -12
  346. package/dist/translator/text/index[vdom].js +0 -20
  347. package/dist/translator/util/add-dependencies.js +0 -329
  348. package/dist/translator/util/escape-regexp.js +0 -4
  349. package/dist/translator/util/get-component-files.js +0 -86
  350. package/dist/translator/util/html-out-write.js +0 -15
  351. package/dist/translator/util/key-manager.js +0 -176
  352. package/dist/translator/util/optimize-html-writes.js +0 -52
  353. package/dist/translator/util/optimize-vdom-create.js +0 -164
  354. package/dist/translator/util/plugin-hooks.js +0 -22
  355. package/dist/translator/util/runtime-flags.js +0 -3
  356. package/dist/translator/util/vdom-out-write.js +0 -10
  357. package/dist/translator/util/with-previous-location.js +0 -6
  358. package/docs/10-awesome-marko-features.md +0 -291
  359. package/docs/body-content.md +0 -355
  360. package/docs/class-components.md +0 -1001
  361. package/docs/cloudflare-workers.md +0 -32
  362. package/docs/compiler-hooks.png +0 -0
  363. package/docs/compiler.md +0 -473
  364. package/docs/component-diagram.afdesign +0 -0
  365. package/docs/component-diagram.svg +0 -87
  366. package/docs/concise.md +0 -141
  367. package/docs/conditionals-and-lists.md +0 -72
  368. package/docs/core-tags.md +0 -325
  369. package/docs/custom-tags.md +0 -201
  370. package/docs/editor-plugins.md +0 -45
  371. package/docs/events.md +0 -131
  372. package/docs/express.md +0 -66
  373. package/docs/fastify.md +0 -65
  374. package/docs/getting-started.md +0 -95
  375. package/docs/http.md +0 -34
  376. package/docs/icons/js.svg +0 -4
  377. package/docs/icons/marko.svg +0 -1
  378. package/docs/icons/ts.svg +0 -1
  379. package/docs/installing.md +0 -51
  380. package/docs/koa.md +0 -35
  381. package/docs/lasso.md +0 -196
  382. package/docs/marko-5-upgrade.md +0 -59
  383. package/docs/marko-json.md +0 -248
  384. package/docs/marko-vs-react.md +0 -854
  385. package/docs/redux.md +0 -61
  386. package/docs/rendering.md +0 -268
  387. package/docs/rollup.md +0 -352
  388. package/docs/state.md +0 -105
  389. package/docs/structure.json +0 -49
  390. package/docs/styles.md +0 -29
  391. package/docs/syntax.md +0 -601
  392. package/docs/troubleshooting-streaming.md +0 -68
  393. package/docs/typescript.md +0 -406
  394. package/docs/vite.md +0 -86
  395. package/docs/webpack.md +0 -205
  396. package/docs/why-is-marko-fast.md +0 -239
  397. package/env.js +0 -7
  398. package/helpers/README.md +0 -3
  399. package/helpers/empty.js +0 -4
  400. package/helpers/notEmpty.js +0 -11
  401. package/index-browser.marko +0 -15
  402. package/index.d.ts +0 -375
  403. package/index.js +0 -7
  404. package/legacy-components-browser.marko +0 -15
  405. package/legacy-components.js +0 -7
  406. package/node-require.js +0 -8
  407. package/src/build.json +0 -3
  408. package/src/compiler/config.js +0 -45
  409. package/src/compiler/index.js +0 -164
  410. package/src/compiler/modules.js +0 -5
  411. package/src/core-tags/.eslintrc +0 -5
  412. package/src/core-tags/components/init-components-tag.js +0 -54
  413. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  414. package/src/core-tags/components/preserve-tag.js +0 -1
  415. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  416. package/src/core-tags/core/await/AsyncValue.js +0 -121
  417. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  418. package/src/core-tags/core/await/index.d.marko +0 -10
  419. package/src/core-tags/core/await/renderer.js +0 -249
  420. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  421. package/src/index.js +0 -4
  422. package/src/node-require/browser-refresh.js +0 -18
  423. package/src/node-require/hot-reload.js +0 -45
  424. package/src/node-require/index.js +0 -103
  425. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  426. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  427. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  428. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  429. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  430. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  431. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  432. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  433. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  434. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  435. package/src/node_modules/@internal/components-entry/index.js +0 -301
  436. package/src/node_modules/@internal/components-entry/package.json +0 -11
  437. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  438. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  439. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  440. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  441. package/src/node_modules/@internal/components-registry/index.js +0 -44
  442. package/src/node_modules/@internal/components-registry/package.json +0 -11
  443. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  444. package/src/node_modules/@internal/components-util/index.js +0 -75
  445. package/src/node_modules/@internal/components-util/package.json +0 -11
  446. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  447. package/src/node_modules/@internal/create-readable/index.js +0 -57
  448. package/src/node_modules/@internal/create-readable/package.json +0 -11
  449. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  450. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  451. package/src/node_modules/@internal/loader/index.js +0 -23
  452. package/src/node_modules/@internal/loader/package.json +0 -10
  453. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  454. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  455. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  456. package/src/node_modules/@internal/require/index-browser.js +0 -15
  457. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  458. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  459. package/src/node_modules/@internal/require/index.js +0 -15
  460. package/src/node_modules/@internal/require/package.json +0 -11
  461. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  462. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  463. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  464. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  465. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  466. package/src/runtime/.eslintrc +0 -5
  467. package/src/runtime/RenderResult.js +0 -112
  468. package/src/runtime/components/Component.js +0 -663
  469. package/src/runtime/components/ComponentDef.js +0 -169
  470. package/src/runtime/components/ComponentsContext.js +0 -59
  471. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  472. package/src/runtime/components/KeySequence.js +0 -16
  473. package/src/runtime/components/ServerComponent.js +0 -73
  474. package/src/runtime/components/State.js +0 -101
  475. package/src/runtime/components/attach-detach.js +0 -60
  476. package/src/runtime/components/defineComponent.js +0 -60
  477. package/src/runtime/components/dom-data.js +0 -8
  478. package/src/runtime/components/event-delegation.js +0 -144
  479. package/src/runtime/components/index.js +0 -1
  480. package/src/runtime/components/legacy/browser.json +0 -9
  481. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  482. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  483. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  484. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  485. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  486. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  487. package/src/runtime/components/legacy/index.js +0 -1
  488. package/src/runtime/components/legacy/jquery.js +0 -52
  489. package/src/runtime/components/legacy/ready.js +0 -152
  490. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  491. package/src/runtime/components/registry.js +0 -1
  492. package/src/runtime/components/renderer.js +0 -236
  493. package/src/runtime/components/update-manager.js +0 -94
  494. package/src/runtime/createOut.js +0 -13
  495. package/src/runtime/dom-insert.js +0 -77
  496. package/src/runtime/events.js +0 -2
  497. package/src/runtime/helpers/_change-case.js +0 -45
  498. package/src/runtime/helpers/assign.js +0 -21
  499. package/src/runtime/helpers/attr-tag.js +0 -43
  500. package/src/runtime/helpers/class-value.js +0 -30
  501. package/src/runtime/helpers/dynamic-tag.js +0 -181
  502. package/src/runtime/helpers/empty-component.js +0 -1
  503. package/src/runtime/helpers/merge.js +0 -13
  504. package/src/runtime/helpers/of-fallback.js +0 -4
  505. package/src/runtime/helpers/render-tag.js +0 -20
  506. package/src/runtime/helpers/serialize-noop.js +0 -5
  507. package/src/runtime/helpers/style-value.js +0 -45
  508. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  509. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  510. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  511. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  512. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  513. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  514. package/src/runtime/helpers/tags-compat/html.js +0 -3
  515. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  516. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  517. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  518. package/src/runtime/helpers/to-string.js +0 -5
  519. package/src/runtime/html/AsyncStream.js +0 -805
  520. package/src/runtime/html/BufferedWriter.js +0 -52
  521. package/src/runtime/html/StringWriter.js +0 -73
  522. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  523. package/src/runtime/html/helpers/attr.js +0 -80
  524. package/src/runtime/html/helpers/attrs.js +0 -26
  525. package/src/runtime/html/helpers/class-attr.js +0 -8
  526. package/src/runtime/html/helpers/data-marko.js +0 -36
  527. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  528. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  529. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  530. package/src/runtime/html/helpers/escape-xml.js +0 -21
  531. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  532. package/src/runtime/html/helpers/props-script.js +0 -32
  533. package/src/runtime/html/helpers/style-attr.js +0 -8
  534. package/src/runtime/html/hot-reload.js +0 -26
  535. package/src/runtime/html/index.js +0 -33
  536. package/src/runtime/html/marko-namespace.js +0 -3
  537. package/src/runtime/renderable.js +0 -194
  538. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  539. package/src/runtime/vdom/VComment.js +0 -24
  540. package/src/runtime/vdom/VComponent.js +0 -17
  541. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  542. package/src/runtime/vdom/VElement.js +0 -375
  543. package/src/runtime/vdom/VFragment.js +0 -26
  544. package/src/runtime/vdom/VNode.js +0 -100
  545. package/src/runtime/vdom/VText.js +0 -25
  546. package/src/runtime/vdom/helpers/attrs.js +0 -62
  547. package/src/runtime/vdom/helpers/const-element.js +0 -25
  548. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  549. package/src/runtime/vdom/hot-reload.js +0 -115
  550. package/src/runtime/vdom/index.js +0 -30
  551. package/src/runtime/vdom/is-text-only.js +0 -10
  552. package/src/runtime/vdom/marko-namespace.js +0 -3
  553. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  554. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  555. package/src/runtime/vdom/morphdom/index.js +0 -741
  556. package/src/runtime/vdom/parse-html.js +0 -18
  557. package/src/runtime/vdom/vdom.js +0 -88
  558. package/src/taglib/index.js +0 -51
  559. package/src/translator/cdata/index.js +0 -15
  560. package/src/translator/cdata/index[html].js +0 -15
  561. package/src/translator/cdata/index[vdom].js +0 -12
  562. package/src/translator/class.js +0 -65
  563. package/src/translator/comment/index.js +0 -15
  564. package/src/translator/comment/index[html].js +0 -17
  565. package/src/translator/comment/index[vdom].js +0 -3
  566. package/src/translator/declaration/index.js +0 -15
  567. package/src/translator/declaration/index[html].js +0 -12
  568. package/src/translator/declaration/index[vdom].js +0 -3
  569. package/src/translator/document-type/index.js +0 -15
  570. package/src/translator/document-type/index[html].js +0 -12
  571. package/src/translator/document-type/index[vdom].js +0 -3
  572. package/src/translator/index.js +0 -551
  573. package/src/translator/placeholder/index.js +0 -15
  574. package/src/translator/placeholder/index[html].js +0 -93
  575. package/src/translator/placeholder/index[vdom].js +0 -22
  576. package/src/translator/scriptlet.js +0 -4
  577. package/src/translator/tag/attribute/directives/class.js +0 -42
  578. package/src/translator/tag/attribute/directives/index.js +0 -15
  579. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  580. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  581. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  582. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  583. package/src/translator/tag/attribute/directives/style.js +0 -42
  584. package/src/translator/tag/attribute/index.js +0 -150
  585. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  586. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  587. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  588. package/src/translator/tag/attribute-tag.js +0 -149
  589. package/src/translator/tag/custom-tag.js +0 -146
  590. package/src/translator/tag/dynamic-tag.js +0 -74
  591. package/src/translator/tag/index.js +0 -287
  592. package/src/translator/tag/macro-tag.js +0 -7
  593. package/src/translator/tag/native-tag.js +0 -27
  594. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  595. package/src/translator/tag/native-tag[html]/index.js +0 -221
  596. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  597. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  598. package/src/translator/tag/util.js +0 -246
  599. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  600. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  601. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  602. package/src/translator/taglib/core/conditional/util.js +0 -41
  603. package/src/translator/taglib/core/index.js +0 -474
  604. package/src/translator/taglib/core/macro/parse.js +0 -17
  605. package/src/translator/taglib/core/macro/translate.js +0 -48
  606. package/src/translator/taglib/core/parse-class.js +0 -79
  607. package/src/translator/taglib/core/parse-export.js +0 -14
  608. package/src/translator/taglib/core/parse-import.js +0 -14
  609. package/src/translator/taglib/core/parse-module-code.js +0 -18
  610. package/src/translator/taglib/core/parse-static.js +0 -18
  611. package/src/translator/taglib/core/transform-style.js +0 -66
  612. package/src/translator/taglib/core/translate-await.js +0 -41
  613. package/src/translator/taglib/core/translate-body.js +0 -17
  614. package/src/translator/taglib/core/translate-for.js +0 -156
  615. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  616. package/src/translator/taglib/core/translate-include-content.js +0 -53
  617. package/src/translator/taglib/core/translate-server-only.js +0 -5
  618. package/src/translator/taglib/core/translate-while.js +0 -32
  619. package/src/translator/taglib/index.js +0 -7
  620. package/src/translator/taglib/migrate/all-templates.js +0 -46
  621. package/src/translator/taglib/migrate/index.js +0 -5
  622. package/src/translator/text/index.js +0 -10
  623. package/src/translator/text/index[html].js +0 -12
  624. package/src/translator/text/index[vdom].js +0 -20
  625. package/src/translator/util/add-dependencies.js +0 -329
  626. package/src/translator/util/escape-regexp.js +0 -4
  627. package/src/translator/util/get-component-files.js +0 -86
  628. package/src/translator/util/html-out-write.js +0 -15
  629. package/src/translator/util/key-manager.js +0 -176
  630. package/src/translator/util/optimize-html-writes.js +0 -52
  631. package/src/translator/util/optimize-vdom-create.js +0 -164
  632. package/src/translator/util/plugin-hooks.js +0 -22
  633. package/src/translator/util/runtime-flags.js +0 -3
  634. package/src/translator/util/vdom-out-write.js +0 -10
  635. package/src/translator/util/with-previous-location.js +0 -6
  636. package/tags-html.d.ts +0 -3855
  637. package/translator/index.d.ts +0 -7
  638. package/translator/package.json +0 -5
@@ -1,169 +0,0 @@
1
- "use strict";
2
- // eslint-disable-next-line no-constant-binary-expression
3
- var complain = "MARKO_DEBUG" && require("complain");
4
- var extend = require("raptor-util/extend");
5
- var componentUtil = require("@internal/components-util");
6
- var w10NOOP = require("../helpers/serialize-noop").___noop;
7
- var attachBubblingEvent = componentUtil.___attachBubblingEvent;
8
- var addDelegatedEventHandler =
9
- require("./event-delegation").___addDelegatedEventHandler;
10
- var KeySequence = require("./KeySequence");
11
- var EMPTY_OBJECT = {};
12
-
13
- var FLAG_WILL_RERENDER_IN_BROWSER = 1;
14
- var FLAG_HAS_RENDER_BODY = 2;
15
- var FLAG_IS_LEGACY = 4;
16
- var FLAG_OLD_HYDRATE_NO_CREATE = 8;
17
-
18
- /**
19
- * A ComponentDef is used to hold the metadata collected at runtime for
20
- * a single component and this information is used to instantiate the component
21
- * later (after the rendered HTML has been added to the DOM)
22
- */
23
- function ComponentDef(component, componentId, componentsContext) {
24
- this.___componentsContext = componentsContext; // The AsyncWriter that this component is associated with
25
- this.___component = component;
26
- this.id = componentId;
27
-
28
- this.___domEvents = undefined; // An array of DOM events that need to be added (in sets of three)
29
-
30
- this.___isExisting = false;
31
-
32
- this.___renderBoundary = false;
33
- this.___flags = 0;
34
-
35
- this.___nextIdIndex = 0; // The unique integer to use for the next scoped ID
36
- this.___keySequence = null;
37
- }
38
-
39
- ComponentDef.prototype = {
40
- ___nextKey: function (key) {
41
- return (
42
- this.___keySequence || (this.___keySequence = new KeySequence())
43
- ).___nextKey(key);
44
- },
45
-
46
- /**
47
- * This helper method generates a unique and fully qualified DOM element ID
48
- * that is unique within the scope of the current component.
49
- */
50
- elId: function (nestedId) {
51
- var id = this.id;
52
-
53
- if (nestedId == null) {
54
- return id;
55
- } else {
56
- if (typeof nestedId !== "string") {
57
- // eslint-disable-next-line no-constant-condition
58
- if ("MARKO_DEBUG") {
59
- complain("Using non strings as keys is deprecated.");
60
- }
61
-
62
- nestedId = String(nestedId);
63
- }
64
-
65
- if (nestedId.indexOf("#") === 0) {
66
- id = "#" + id;
67
- nestedId = nestedId.substring(1);
68
- }
69
-
70
- return id + "-" + nestedId;
71
- }
72
- },
73
- /**
74
- * Returns the next auto generated unique ID for a nested DOM element or nested DOM component
75
- */
76
- ___nextComponentId: function () {
77
- return this.id + "-c" + this.___nextIdIndex++;
78
- },
79
-
80
- d: function (eventName, handlerMethodName, isOnce, extraArgs) {
81
- addDelegatedEventHandler(eventName);
82
- return attachBubblingEvent(this, handlerMethodName, isOnce, extraArgs);
83
- },
84
-
85
- get ___type() {
86
- return this.___component.___type;
87
- },
88
- };
89
-
90
- ComponentDef.prototype.nk = ComponentDef.prototype.___nextKey;
91
-
92
- ComponentDef.___deserialize = function (o, types, global, registry) {
93
- var id = o[0];
94
- var typeName = types[o[1]];
95
- var input = o[2] || null;
96
- var extra = o[3] || EMPTY_OBJECT;
97
-
98
- var state = extra.s;
99
- var componentProps = extra.w || EMPTY_OBJECT;
100
- var flags = extra.f;
101
- var isLegacy = flags & FLAG_IS_LEGACY;
102
- var renderBody = flags & FLAG_HAS_RENDER_BODY ? w10NOOP : extra.r;
103
-
104
- var component =
105
- typeName /* legacy */ &&
106
- registry.___createComponent(typeName, id, isLegacy);
107
-
108
- // Prevent newly created component from being queued for update since we area
109
- // just building it from the server info
110
- component.___updateQueued = true;
111
- component.___global = global;
112
-
113
- if (isLegacy) {
114
- component.widgetConfig = componentProps;
115
- component.___widgetBody = renderBody;
116
- } else if (renderBody) {
117
- (input || (input = {})).renderBody = renderBody;
118
- }
119
-
120
- if (
121
- !isLegacy &&
122
- flags & FLAG_WILL_RERENDER_IN_BROWSER &&
123
- !(flags & FLAG_OLD_HYDRATE_NO_CREATE)
124
- ) {
125
- if (component.onCreate) {
126
- component.onCreate(input, { global: global });
127
- }
128
- if (component.onInput) {
129
- input = component.onInput(input, { global: global }) || input;
130
- }
131
- } else {
132
- if (state) {
133
- var undefinedPropNames = extra.u;
134
- if (undefinedPropNames) {
135
- undefinedPropNames.forEach(function (undefinedPropName) {
136
- state[undefinedPropName] = undefined;
137
- });
138
- }
139
- // We go through the setter here so that we convert the state object
140
- // to an instance of `State`
141
- component.state = state;
142
- }
143
-
144
- if (!isLegacy && componentProps) {
145
- extend(component, componentProps);
146
- }
147
- }
148
-
149
- component.___input = input;
150
-
151
- if (extra.b) {
152
- component.___bubblingDomEvents = extra.b;
153
- }
154
-
155
- var scope = extra.p;
156
- var customEvents = extra.e;
157
- if (customEvents) {
158
- component.___setCustomEvents(customEvents, scope);
159
- }
160
-
161
- return {
162
- id: id,
163
- ___component: component,
164
- ___domEvents: extra.d,
165
- ___flags: extra.f || 0,
166
- };
167
- };
168
-
169
- module.exports = ComponentDef;
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var GlobalComponentsContext = require("./GlobalComponentsContext");
3
-
4
- function ComponentsContext(out, parentComponentsContext) {
5
- var globalComponentsContext;
6
- var componentDef;
7
-
8
- if (parentComponentsContext) {
9
- globalComponentsContext = parentComponentsContext.___globalContext;
10
- componentDef = parentComponentsContext.___componentDef;
11
-
12
- var nestedContextsForParent;
13
- if (
14
- !(nestedContextsForParent = parentComponentsContext.___nestedContexts)
15
- ) {
16
- nestedContextsForParent = parentComponentsContext.___nestedContexts = [];
17
- }
18
-
19
- nestedContextsForParent.push(this);
20
- } else {
21
- globalComponentsContext = out.global.___components;
22
- if (globalComponentsContext === undefined) {
23
- out.global.___components = globalComponentsContext =
24
- new GlobalComponentsContext(out);
25
- }
26
- }
27
-
28
- this.___globalContext = globalComponentsContext;
29
- this.___components = [];
30
- this.___out = out;
31
- this.___componentDef = componentDef;
32
- this.___nestedContexts = undefined;
33
- this.___isPreserved =
34
- parentComponentsContext && parentComponentsContext.___isPreserved;
35
- }
36
-
37
- ComponentsContext.prototype = {
38
- ___initComponents: function (host) {
39
- var componentDefs = this.___components;
40
-
41
- ComponentsContext.___initClientRendered(componentDefs, host);
42
-
43
- this.___out.emit("___componentsInitialized");
44
-
45
- // Reset things stored in global since global is retained for
46
- // future renders
47
- this.___out.global.___components = undefined;
48
-
49
- return componentDefs;
50
- },
51
- };
52
-
53
- function getComponentsContext(out) {
54
- return out.___components || (out.___components = new ComponentsContext(out));
55
- }
56
-
57
- module.exports = exports = ComponentsContext;
58
-
59
- exports.___getComponentsContext = getComponentsContext;
@@ -1,10 +0,0 @@
1
- var nextComponentIdProvider =
2
- require("@internal/components-util").___nextComponentIdProvider;
3
-
4
- function GlobalComponentsContext(out) {
5
- this.___renderedComponentsById = {};
6
- this.___rerenderComponent = undefined;
7
- this.___nextComponentId = nextComponentIdProvider(out);
8
- }
9
-
10
- module.exports = GlobalComponentsContext;
@@ -1,16 +0,0 @@
1
- function KeySequence() {
2
- this.___lookup = Object.create(null);
3
- }
4
-
5
- KeySequence.prototype.___nextKey = function (key) {
6
- var lookup = this.___lookup;
7
-
8
- if (lookup[key]) {
9
- return key + "_" + lookup[key]++;
10
- }
11
-
12
- lookup[key] = 1;
13
- return key;
14
- };
15
-
16
- module.exports = KeySequence;
@@ -1,73 +0,0 @@
1
- "use strict";
2
- // eslint-disable-next-line no-constant-binary-expression
3
- var complain = "MARKO_DEBUG" && require("complain");
4
-
5
- class ServerComponent {
6
- constructor(id, input, out, typeName, customEvents, scope) {
7
- this.id = id;
8
- this.___customEvents = customEvents;
9
- this.___scope = scope;
10
- this.typeName = typeName;
11
- this.___bubblingDomEvents = undefined; // Used to keep track of bubbling DOM events for components rendered on the server
12
- this.___bubblingDomEventsExtraArgsCount = 0;
13
-
14
- this.onCreate(input, out);
15
- this.___updatedInput = this.onInput(input, out) || input;
16
- if (this.___input === undefined) {
17
- this.___input = this.___updatedInput;
18
- }
19
- this.onRender(out);
20
- }
21
-
22
- set input(newInput) {
23
- this.___input = newInput;
24
- }
25
-
26
- get input() {
27
- return this.___input;
28
- }
29
-
30
- set state(newState) {
31
- this.___state = newState;
32
- }
33
-
34
- get state() {
35
- return this.___state;
36
- }
37
-
38
- get ___rawState() {
39
- return this.___state;
40
- }
41
-
42
- elId(nestedId) {
43
- var id = this.id;
44
-
45
- if (nestedId == null) {
46
- return id;
47
- } else {
48
- if (typeof nestedId !== "string") {
49
- // eslint-disable-next-line no-constant-condition
50
- if ("MARKO_DEBUG") {
51
- complain("Using non strings as keys is deprecated.");
52
- }
53
-
54
- nestedId = String(nestedId);
55
- }
56
-
57
- if (nestedId.indexOf("#") === 0) {
58
- id = "#" + id;
59
- nestedId = nestedId.substring(1);
60
- }
61
-
62
- return id + "-" + nestedId;
63
- }
64
- }
65
-
66
- onCreate() {}
67
- onInput() {}
68
- onRender() {}
69
- }
70
-
71
- ServerComponent.prototype.getElId = ServerComponent.prototype.elId;
72
-
73
- module.exports = ServerComponent;
@@ -1,101 +0,0 @@
1
- var extend = require("raptor-util/extend");
2
-
3
- function ensure(state, propertyName) {
4
- var proto = state.constructor.prototype;
5
- if (!(propertyName in proto)) {
6
- Object.defineProperty(proto, propertyName, {
7
- get: function () {
8
- return this.___raw[propertyName];
9
- },
10
- set: function (value) {
11
- this.___set(propertyName, value, false /* ensure:false */);
12
- },
13
- });
14
- }
15
- }
16
-
17
- function State(component) {
18
- this.___component = component;
19
- this.___raw = {};
20
-
21
- this.___dirty = false;
22
- this.___old = null;
23
- this.___changes = null;
24
- this.___forced = null; // An object that we use to keep tracking of state properties that were forced to be dirty
25
-
26
- Object.seal(this);
27
- }
28
-
29
- State.prototype = {
30
- ___reset: function () {
31
- this.___dirty = false;
32
- this.___old = null;
33
- this.___changes = null;
34
- this.___forced = null;
35
- },
36
-
37
- ___replace: function (newState) {
38
- var key;
39
- var rawState = this.___raw;
40
-
41
- for (key in rawState) {
42
- if (!(key in newState)) {
43
- this.___set(
44
- key,
45
- undefined,
46
- false /* ensure:false */,
47
- false /* forceDirty:false */,
48
- );
49
- }
50
- }
51
-
52
- for (key in newState) {
53
- this.___set(
54
- key,
55
- newState[key],
56
- true /* ensure:true */,
57
- false /* forceDirty:false */,
58
- );
59
- }
60
- },
61
- ___set: function (name, value, shouldEnsure, forceDirty) {
62
- var rawState = this.___raw;
63
-
64
- if (shouldEnsure) {
65
- ensure(this, name);
66
- }
67
-
68
- if (forceDirty) {
69
- var forcedDirtyState = this.___forced || (this.___forced = {});
70
- forcedDirtyState[name] = true;
71
- } else if (rawState[name] === value) {
72
- return;
73
- }
74
-
75
- if (!this.___dirty) {
76
- // This is the first time we are modifying the component state
77
- // so introduce some properties to do some tracking of
78
- // changes to the state
79
- this.___dirty = true; // Mark the component state as dirty (i.e. modified)
80
- this.___old = rawState;
81
- this.___raw = rawState = extend({}, rawState);
82
- this.___changes = {};
83
- this.___component.___queueUpdate();
84
- }
85
-
86
- this.___changes[name] = value;
87
-
88
- if (value === undefined) {
89
- // Don't store state properties with an undefined or null value
90
- delete rawState[name];
91
- } else {
92
- // Otherwise, store the new value in the component state
93
- rawState[name] = value;
94
- }
95
- },
96
- toJSON: function () {
97
- return this.___raw;
98
- },
99
- };
100
-
101
- module.exports = State;
@@ -1,60 +0,0 @@
1
- var eventDelegation = require("./event-delegation");
2
- var delegateEvent = eventDelegation.___delegateEvent;
3
- var getEventFromEl = eventDelegation.___getEventFromEl;
4
-
5
- // var componentsUtil = require('@internal/components-util');
6
- // var destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;
7
- // var destroyComponentForNode = componentsUtil.___destroyComponentForNode;
8
-
9
- function handleNodeAttach(node, componentsContext) {
10
- if (node.nodeType === 1) {
11
- var eventName = "onattach";
12
- var target = getEventFromEl(node, eventName);
13
- if (target) {
14
- var out = componentsContext.___out;
15
- var data = out.data;
16
-
17
- var attachTargets = data.___attachTargets;
18
- if (!attachTargets) {
19
- attachTargets = data.___attachTargets = [];
20
- out.on("___componentsInitialized", function () {
21
- for (var i = 0; i < attachTargets.length; i += 2) {
22
- var node = attachTargets[i];
23
- var target = attachTargets[i + 1];
24
- delegateEvent(node, eventName, target, {});
25
- }
26
- });
27
- }
28
-
29
- attachTargets.push(node);
30
- attachTargets.push(target);
31
- }
32
- }
33
- }
34
-
35
- function handleNodeDetach(node) {
36
- if (node.nodeType === 1) {
37
- var eventName = "ondetach";
38
- var target = getEventFromEl(node, eventName);
39
- if (target) {
40
- var allowDetach;
41
-
42
- delegateEvent(node, eventName, target, {
43
- preventDefault: function () {
44
- allowDetach = false;
45
- },
46
- detach: function () {
47
- var parentNode = node.parentNode;
48
- if (parentNode) {
49
- parentNode.removeChild(node);
50
- }
51
- },
52
- });
53
-
54
- return allowDetach;
55
- }
56
- }
57
- }
58
-
59
- eventDelegation.___handleNodeAttach = handleNodeAttach;
60
- eventDelegation.___handleNodeDetach = handleNodeDetach;
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- var inherit = require("raptor-util/inherit");
4
- var BaseComponent = require("./Component");
5
- var BaseState = require("./State");
6
-
7
- module.exports = function defineComponent(def, renderer) {
8
- if (def.___isComponent) {
9
- return def;
10
- }
11
-
12
- var ComponentClass = function () {};
13
- var proto;
14
-
15
- var type = typeof def;
16
-
17
- if (type == "function") {
18
- proto = def.prototype;
19
- } else if (type == "object") {
20
- proto = def;
21
- } else {
22
- throw TypeError();
23
- }
24
-
25
- ComponentClass.prototype = proto;
26
-
27
- // We don't use the constructor provided by the user
28
- // since we don't invoke their constructor until
29
- // we have had a chance to do our own initialization.
30
- // Instead, we store their constructor in the "initComponent"
31
- // property and that method gets called later inside
32
- // init-components-browser.js
33
- function Component(id) {
34
- BaseComponent.call(this, id);
35
- }
36
-
37
- if (!proto.___isComponent) {
38
- // Inherit from Component if they didn't already
39
- inherit(ComponentClass, BaseComponent);
40
- }
41
-
42
- // The same prototype will be used by our constructor after
43
- // we he have set up the prototype chain using the inherit function
44
- proto = Component.prototype = ComponentClass.prototype;
45
-
46
- // proto.constructor = def.constructor = Component;
47
-
48
- // Set a flag on the constructor function to make it clear this is
49
- // a component so that we can short-circuit this work later
50
- Component.___isComponent = true;
51
-
52
- function State(component) {
53
- BaseState.call(this, component);
54
- }
55
- inherit(State, BaseState);
56
- proto.___State = State;
57
- proto.___renderer = renderer;
58
-
59
- return Component;
60
- };
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- ___vPropsByDOMNode: new WeakMap(),
3
- ___vElementByDOMNode: new WeakMap(),
4
- ___componentByDOMNode: new WeakMap(),
5
- ___detachedByDOMNode: new WeakMap(),
6
- ___keyByDOMNode: new WeakMap(),
7
- ___ssrKeyedElementsByComponentId: {},
8
- };
@@ -1,144 +0,0 @@
1
- var componentsUtil = require("@internal/components-util");
2
- var runtimeId = componentsUtil.___runtimeId;
3
- var componentLookup = componentsUtil.___componentLookup;
4
- var getMarkoPropsFromEl = componentsUtil.___getMarkoPropsFromEl;
5
-
6
- var TEXT_NODE = 3;
7
-
8
- // We make our best effort to allow multiple marko runtimes to be loaded in the
9
- // same window. Each marko runtime will get its own unique runtime ID.
10
- var listenersAttachedKey = "$MDE" + runtimeId;
11
- var delegatedEvents = {};
12
-
13
- function getEventFromEl(el, eventName) {
14
- var virtualProps = getMarkoPropsFromEl(el);
15
- var eventInfo = virtualProps[eventName];
16
-
17
- if (typeof eventInfo === "string") {
18
- eventInfo = eventInfo.split(" ");
19
- if (eventInfo[2]) {
20
- eventInfo[2] = eventInfo[2] === "true";
21
- }
22
- if (eventInfo.length == 4) {
23
- eventInfo[3] = parseInt(eventInfo[3], 10);
24
- }
25
- }
26
-
27
- return eventInfo;
28
- }
29
-
30
- function delegateEvent(node, eventName, target, event) {
31
- var targetMethod = target[0];
32
- var targetComponentId = target[1];
33
- var isOnce = target[2];
34
- var extraArgs = target[3];
35
-
36
- if (isOnce) {
37
- var virtualProps = getMarkoPropsFromEl(node);
38
- delete virtualProps[eventName];
39
- }
40
-
41
- var targetComponent = componentLookup[targetComponentId];
42
-
43
- if (!targetComponent) {
44
- return;
45
- }
46
-
47
- var targetFunc =
48
- typeof targetMethod === "function"
49
- ? targetMethod
50
- : targetComponent[targetMethod];
51
- if (!targetFunc) {
52
- throw Error("Method not found: " + targetMethod);
53
- }
54
-
55
- if (extraArgs != null) {
56
- if (typeof extraArgs === "number") {
57
- extraArgs = targetComponent.___bubblingDomEvents[extraArgs];
58
- }
59
- }
60
-
61
- // Invoke the component method
62
- if (extraArgs) {
63
- targetFunc.apply(targetComponent, extraArgs.concat(event, node));
64
- } else {
65
- targetFunc.call(targetComponent, event, node);
66
- }
67
- }
68
-
69
- function addDelegatedEventHandler(eventType) {
70
- if (!delegatedEvents[eventType]) {
71
- delegatedEvents[eventType] = true;
72
- }
73
- }
74
-
75
- function addDelegatedEventHandlerToHost(eventType, host) {
76
- var listeners = (host[listenersAttachedKey] =
77
- host[listenersAttachedKey] || {});
78
- if (!listeners[eventType]) {
79
- (host.body || host).addEventListener(
80
- eventType,
81
- (listeners[eventType] = function (event) {
82
- var curNode = event.target;
83
- if (!curNode) {
84
- return;
85
- }
86
-
87
- curNode =
88
- // event.target of an SVGElementInstance does not have a
89
- // `getAttribute` function in IE 11.
90
- // See https://github.com/marko-js/marko/issues/796
91
- curNode.correspondingUseElement ||
92
- // in some browsers the event target can be a text node
93
- // one example being dragenter in firefox.
94
- (curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);
95
-
96
- // Search up the tree looking DOM events mapped to target
97
- // component methods
98
- var propName = "on" + eventType;
99
- var target;
100
-
101
- // Attributes will have the following form:
102
- // on<event_type>("<target_method>|<component_id>")
103
-
104
- if (event.bubbles) {
105
- var propagationStopped = false;
106
-
107
- // Monkey-patch to fix #97
108
- var oldStopPropagation = event.stopPropagation;
109
-
110
- event.stopPropagation = function () {
111
- oldStopPropagation.call(event);
112
- propagationStopped = true;
113
- };
114
-
115
- do {
116
- if ((target = getEventFromEl(curNode, propName))) {
117
- delegateEvent(curNode, propName, target, event);
118
-
119
- if (propagationStopped) {
120
- break;
121
- }
122
- }
123
- } while ((curNode = curNode.parentNode) && curNode.getAttribute);
124
- } else if ((target = getEventFromEl(curNode, propName))) {
125
- delegateEvent(curNode, propName, target, event);
126
- }
127
- }),
128
- true,
129
- );
130
- }
131
- }
132
-
133
- function noop() {}
134
-
135
- exports.___handleNodeAttach = noop;
136
- exports.___handleNodeDetach = noop;
137
- exports.___delegateEvent = delegateEvent;
138
- exports.___getEventFromEl = getEventFromEl;
139
- exports.___addDelegatedEventHandler = addDelegatedEventHandler;
140
- exports.___init = function (host) {
141
- Object.keys(delegatedEvents).forEach(function (eventType) {
142
- addDelegatedEventHandlerToHost(eventType, host);
143
- });
144
- };