marko 5.37.2 → 6.0.0-3.5

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 +32 -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,375 +0,0 @@
1
- // eslint-disable-next-line no-constant-binary-expression
2
- var complain = "MARKO_DEBUG" && require("complain");
3
- var inherit = require("raptor-util/inherit");
4
- var componentsUtil = require("@internal/components-util");
5
- var domData = require("../components/dom-data");
6
- var vElementByDOMNode = domData.___vElementByDOMNode;
7
- var VNode = require("./VNode");
8
- var isTextOnly = require("./is-text-only");
9
- var ATTR_XLINK_HREF = "xlink:href";
10
- var xmlnsRegExp = /^xmlns(:|$)/;
11
- var hasOwnProperty = Object.prototype.hasOwnProperty;
12
- var NS_XLINK = "http://www.w3.org/1999/xlink";
13
- var NS_HTML = "http://www.w3.org/1999/xhtml";
14
- var NS_MATH = "http://www.w3.org/1998/Math/MathML";
15
- var NS_SVG = "http://www.w3.org/2000/svg";
16
- var DEFAULT_NS = {
17
- svg: NS_SVG,
18
- math: NS_MATH,
19
- };
20
-
21
- var FLAG_SIMPLE_ATTRS = 1;
22
- var FLAG_CUSTOM_ELEMENT = 2;
23
- var FLAG_SPREAD_ATTRS = 4;
24
-
25
- var ATTR_HREF = "href";
26
- var EMPTY_OBJECT = Object.freeze(Object.create(null));
27
- var specialElHandlers = {
28
- option: {
29
- selected: function (fromEl, value) {
30
- fromEl.selected = value !== undefined;
31
- },
32
- },
33
- input: {
34
- value: function (fromEl, value) {
35
- fromEl.value = value === undefined ? "" : value;
36
- },
37
- checked: function (fromEl, value) {
38
- fromEl.checked = value !== undefined;
39
- },
40
- },
41
- };
42
-
43
- function normalizeValue(value) {
44
- if (value === true) {
45
- return "";
46
- }
47
-
48
- if (value == null || value === false) {
49
- return;
50
- }
51
-
52
- switch (typeof value) {
53
- case "string":
54
- return value;
55
- case "object":
56
- switch (value.toString) {
57
- case Object.prototype.toString:
58
- case Array.prototype.toString:
59
- // eslint-disable-next-line no-constant-condition
60
- if ("MARKO_DEBUG") {
61
- complain(
62
- "Relying on JSON.stringify for attribute values is deprecated, in future versions of Marko these will be cast to strings instead.",
63
- );
64
- }
65
- return JSON.stringify(value);
66
- case RegExp.prototype.toString:
67
- return value.source;
68
- }
69
- break;
70
- }
71
-
72
- return value + "";
73
- }
74
-
75
- function assign(a, b) {
76
- for (var key in b) {
77
- if (hasOwnProperty.call(b, key)) {
78
- a[key] = b[key];
79
- }
80
- }
81
- }
82
-
83
- function VElementClone(other) {
84
- this.___firstChildInternal = other.___firstChildInternal;
85
- this.___parentNode = null;
86
- this.___nextSiblingInternal = null;
87
-
88
- this.___key = other.___key;
89
- this.___attributes = other.___attributes;
90
- this.___properties = other.___properties;
91
- this.___nodeName = other.___nodeName;
92
- this.___flags = other.___flags;
93
- this.___textContent = other.___textContent;
94
- this.___constId = other.___constId;
95
- }
96
-
97
- function VElement(
98
- tagName,
99
- attrs,
100
- key,
101
- ownerComponent,
102
- childCount,
103
- flags,
104
- props,
105
- ) {
106
- this.___VNode(childCount, ownerComponent);
107
-
108
- var constId;
109
-
110
- if (props) {
111
- constId = props.i;
112
- }
113
-
114
- this.___key = key;
115
- this.___flags = flags || 0;
116
- this.___attributes = attrs || EMPTY_OBJECT;
117
- this.___properties = props || EMPTY_OBJECT;
118
- this.___nodeName = tagName;
119
- this.___textContent = "";
120
- this.___constId = constId;
121
- this.___preserve = false;
122
- this.___preserveBody = false;
123
- }
124
-
125
- VElement.prototype = {
126
- ___nodeType: 1,
127
-
128
- ___cloneNode: function () {
129
- return new VElementClone(this);
130
- },
131
-
132
- /**
133
- * Shorthand method for creating and appending an HTML element
134
- *
135
- * @param {String} tagName The tag name (e.g. "div")
136
- * @param {int|null} attrCount The number of attributes (or `null` if not known)
137
- * @param {int|null} childCount The number of child nodes (or `null` if not known)
138
- */
139
- e: function (tagName, attrs, key, ownerComponent, childCount, flags, props) {
140
- var child = this.___appendChild(
141
- new VElement(
142
- tagName,
143
- attrs,
144
- key,
145
- ownerComponent,
146
- childCount,
147
- flags,
148
- props,
149
- ),
150
- );
151
-
152
- if (childCount === 0) {
153
- return this.___finishChild();
154
- } else {
155
- return child;
156
- }
157
- },
158
-
159
- /**
160
- * Shorthand method for creating and appending a static node. The provided node is automatically cloned
161
- * using a shallow clone since it will be mutated as a result of setting `nextSibling` and `parentNode`.
162
- *
163
- * @param {String} value The value for the new Comment node
164
- */
165
- n: function (node, ownerComponent) {
166
- node = node.___cloneNode();
167
- node.___ownerComponent = ownerComponent;
168
- this.___appendChild(node);
169
- return this.___finishChild();
170
- },
171
-
172
- ___actualize: function (host, parentNamespaceURI) {
173
- var tagName = this.___nodeName;
174
- var attributes = this.___attributes;
175
- var namespaceURI = DEFAULT_NS[tagName] || parentNamespaceURI || NS_HTML;
176
-
177
- var flags = this.___flags;
178
- var el = (host.ownerDocument || host).createElementNS(
179
- namespaceURI,
180
- tagName,
181
- );
182
-
183
- if (flags & FLAG_CUSTOM_ELEMENT) {
184
- assign(el, attributes);
185
- } else {
186
- for (var attrName in attributes) {
187
- var attrValue = normalizeValue(attributes[attrName]);
188
-
189
- if (attrValue !== undefined) {
190
- if (attrName == ATTR_XLINK_HREF) {
191
- el.setAttributeNS(NS_XLINK, ATTR_HREF, attrValue);
192
- } else {
193
- el.setAttribute(attrName, attrValue);
194
- }
195
- }
196
- }
197
-
198
- if (isTextOnly(tagName)) {
199
- el.textContent = this.___textContent;
200
- }
201
- }
202
-
203
- vElementByDOMNode.set(el, this);
204
-
205
- return el;
206
- },
207
- };
208
-
209
- inherit(VElement, VNode);
210
-
211
- VElementClone.prototype = VElement.prototype;
212
-
213
- function virtualizeElement(node, virtualizeChildNodes, ownerComponent) {
214
- var attributes = node.attributes;
215
- var attrCount = attributes.length;
216
-
217
- var attrs = null;
218
- var props = null;
219
-
220
- if (attrCount) {
221
- attrs = {};
222
- for (var i = 0; i < attrCount; i++) {
223
- var attr = attributes[i];
224
- var attrName = attr.name;
225
- if (!xmlnsRegExp.test(attrName)) {
226
- if (attrName === "data-marko") {
227
- props = componentsUtil.___getMarkoPropsFromEl(node);
228
- } else if (attr.namespaceURI === NS_XLINK) {
229
- attrs[ATTR_XLINK_HREF] = attr.value;
230
- } else {
231
- attrs[attrName] = attr.value;
232
- }
233
- }
234
- }
235
- }
236
-
237
- var tagName = node.nodeName;
238
-
239
- if (node.namespaceURI === NS_HTML) {
240
- tagName = tagName.toLowerCase();
241
- }
242
-
243
- var vdomEl = new VElement(
244
- tagName,
245
- attrs,
246
- null /*key*/,
247
- ownerComponent,
248
- 0 /*child count*/,
249
- 0 /*flags*/,
250
- props,
251
- );
252
-
253
- if (isTextOnly(tagName)) {
254
- vdomEl.___textContent = node.textContent;
255
- } else if (virtualizeChildNodes) {
256
- virtualizeChildNodes(node, vdomEl, ownerComponent);
257
- }
258
-
259
- return vdomEl;
260
- }
261
-
262
- VElement.___virtualize = virtualizeElement;
263
-
264
- VElement.___morphAttrs = function (fromEl, vFromEl, toEl) {
265
- var fromFlags = vFromEl.___flags;
266
- var toFlags = toEl.___flags;
267
- var attrs = toEl.___attributes;
268
-
269
- if (toFlags & FLAG_CUSTOM_ELEMENT) {
270
- return assign(fromEl, attrs);
271
- }
272
-
273
- var props = toEl.___properties;
274
- var attrName;
275
-
276
- // We use expando properties to associate the previous HTML
277
- // attributes provided as part of the VDOM node with the
278
- // real VElement DOM node. When diffing attributes,
279
- // we only use our internal representation of the attributes.
280
- // When diffing for the first time it's possible that the
281
- // real VElement node will not have the expando property
282
- // so we build the attribute map from the expando property
283
-
284
- var oldAttrs = vFromEl.___attributes;
285
-
286
- if (oldAttrs === attrs) {
287
- // For constant attributes the same object will be provided
288
- // every render and we can use that to our advantage to
289
- // not waste time diffing a constant, immutable attribute
290
- // map.
291
- return;
292
- }
293
-
294
- var attrValue;
295
-
296
- if (toFlags & FLAG_SIMPLE_ATTRS && fromFlags & FLAG_SIMPLE_ATTRS) {
297
- if (oldAttrs["class"] !== (attrValue = attrs["class"])) {
298
- if (attrValue) {
299
- fromEl.className = attrValue;
300
- } else {
301
- fromEl.removeAttribute("class");
302
- }
303
- }
304
- if (oldAttrs.id !== (attrValue = attrs.id)) {
305
- if (attrValue) {
306
- fromEl.id = attrValue;
307
- } else {
308
- fromEl.removeAttribute("id");
309
- }
310
- }
311
- if (oldAttrs.style !== (attrValue = attrs.style)) {
312
- if (attrValue) {
313
- fromEl.style.cssText = attrValue;
314
- } else {
315
- fromEl.removeAttribute("style");
316
- }
317
- }
318
- return;
319
- }
320
-
321
- var preserve = (props && props.pa) || EMPTY_OBJECT;
322
- var specialAttrs = specialElHandlers[toEl.___nodeName] || EMPTY_OBJECT;
323
- var specialAttr;
324
-
325
- // Loop over all of the attributes in the attribute map and compare
326
- // them to the value in the old map. However, if the value is
327
- // null/undefined/false then we want to remove the attribute
328
- for (attrName in attrs) {
329
- if (
330
- !preserve[attrName] &&
331
- normalizeValue(oldAttrs[attrName]) !==
332
- (attrValue = normalizeValue(attrs[attrName]))
333
- ) {
334
- if ((specialAttr = specialAttrs[attrName])) {
335
- specialAttr(fromEl, attrValue);
336
- } else if (attrName === ATTR_XLINK_HREF) {
337
- if (attrValue === undefined) {
338
- fromEl.removeAttributeNS(NS_XLINK, ATTR_HREF);
339
- } else {
340
- fromEl.setAttributeNS(NS_XLINK, ATTR_HREF, attrValue);
341
- }
342
- } else if (attrValue === undefined) {
343
- fromEl.removeAttribute(attrName);
344
- } else {
345
- fromEl.setAttribute(attrName, attrValue);
346
- }
347
- }
348
- }
349
-
350
- // If there are any old attributes that are not in the new set of attributes
351
- // then we need to remove those attributes from the target node
352
- //
353
- // NOTE: We can skip this if the the element is keyed and didn't have spread attributes
354
- // because we know we already processed all of the attributes for
355
- // both the target and original element since target VElement nodes will
356
- // have all attributes declared. However, we can only skip if the node
357
- // was not a virtualized node (i.e., a node that was not rendered by a
358
- // Marko template, but rather a node that was created from an HTML
359
- // string or a real DOM node).
360
- if (toEl.___key === null || fromFlags & FLAG_SPREAD_ATTRS) {
361
- for (attrName in oldAttrs) {
362
- if (!(attrName in attrs)) {
363
- if ((specialAttr = specialAttrs[attrName])) {
364
- specialAttr(fromEl, undefined);
365
- } else if (attrName === ATTR_XLINK_HREF) {
366
- fromEl.removeAttributeNS(ATTR_XLINK_HREF, ATTR_HREF);
367
- } else {
368
- fromEl.removeAttribute(attrName);
369
- }
370
- }
371
- }
372
- }
373
- };
374
-
375
- module.exports = VElement;
@@ -1,26 +0,0 @@
1
- var inherit = require("raptor-util/inherit");
2
- var domData = require("../components/dom-data");
3
- var keysByDOMNode = domData.___keyByDOMNode;
4
- var vElementByDOMNode = domData.___vElementByDOMNode;
5
- var createFragmentNode = require("./morphdom/fragment").___createFragmentNode;
6
- var VNode = require("./VNode");
7
-
8
- function VFragment(key, ownerComponent, preserve) {
9
- this.___VNode(null /* childCount */, ownerComponent);
10
- this.___key = key;
11
- this.___preserve = preserve;
12
- }
13
-
14
- VFragment.prototype = {
15
- ___nodeType: 12,
16
- ___actualize: function () {
17
- var fragment = createFragmentNode();
18
- keysByDOMNode.set(fragment, this.___key);
19
- vElementByDOMNode.set(fragment, this);
20
- return fragment;
21
- },
22
- };
23
-
24
- inherit(VFragment, VNode);
25
-
26
- module.exports = VFragment;
@@ -1,100 +0,0 @@
1
- var hasTextContent = require("./is-text-only");
2
-
3
- function VNode() {}
4
-
5
- VNode.prototype = {
6
- ___VNode: function (finalChildCount, ownerComponent) {
7
- this.___finalChildCount = finalChildCount;
8
- this.___childCount = 0;
9
- this.___firstChildInternal = null;
10
- this.___lastChild = null;
11
- this.___parentNode = null;
12
- this.___nextSiblingInternal = null;
13
- this.___ownerComponent = ownerComponent;
14
- },
15
-
16
- get ___firstChild() {
17
- var firstChild = this.___firstChildInternal;
18
-
19
- if (firstChild && firstChild.___DocumentFragment) {
20
- var nestedFirstChild = firstChild.___firstChild;
21
- // The first child is a DocumentFragment node.
22
- // If the DocumentFragment node has a first child then we will return that.
23
- // Otherwise, the DocumentFragment node is not *really* the first child and
24
- // we need to skip to its next sibling
25
- return nestedFirstChild || firstChild.___nextSibling;
26
- }
27
-
28
- return firstChild;
29
- },
30
-
31
- get ___nextSibling() {
32
- var nextSibling = this.___nextSiblingInternal;
33
-
34
- if (nextSibling) {
35
- if (nextSibling.___DocumentFragment) {
36
- var firstChild = nextSibling.___firstChild;
37
- return firstChild || nextSibling.___nextSibling;
38
- }
39
- } else {
40
- var parentNode = this.___parentNode;
41
- if (parentNode && parentNode.___DocumentFragment) {
42
- return parentNode.___nextSibling;
43
- }
44
- }
45
-
46
- return nextSibling;
47
- },
48
-
49
- ___appendChild: function (child) {
50
- this.___childCount++;
51
-
52
- if (hasTextContent(this.___nodeName)) {
53
- if (child.___Text) {
54
- this.___textContent += child.___nodeValue;
55
- } else {
56
- throw TypeError();
57
- }
58
- } else {
59
- var lastChild = this.___lastChild;
60
-
61
- child.___parentNode = this;
62
-
63
- if (lastChild) {
64
- lastChild.___nextSiblingInternal = child;
65
- } else {
66
- this.___firstChildInternal = child;
67
- }
68
-
69
- this.___lastChild = child;
70
- }
71
-
72
- return child;
73
- },
74
-
75
- ___finishChild: function finishChild() {
76
- if (this.___childCount === this.___finalChildCount && this.___parentNode) {
77
- return this.___parentNode.___finishChild();
78
- } else {
79
- return this;
80
- }
81
- },
82
-
83
- // ,toJSON: function() {
84
- // var clone = Object.assign({
85
- // nodeType: this.nodeType
86
- // }, this);
87
- //
88
- // for (var k in clone) {
89
- // if (k.startsWith('_')) {
90
- // delete clone[k];
91
- // }
92
- // }
93
- // delete clone._nextSibling;
94
- // delete clone._lastChild;
95
- // delete clone.parentNode;
96
- // return clone;
97
- // }
98
- };
99
-
100
- module.exports = VNode;
@@ -1,25 +0,0 @@
1
- var inherit = require("raptor-util/inherit");
2
- var VNode = require("./VNode");
3
-
4
- function VText(value, ownerComponent) {
5
- this.___VNode(-1 /* no children */, ownerComponent);
6
- this.___nodeValue = value;
7
- }
8
-
9
- VText.prototype = {
10
- ___Text: true,
11
-
12
- ___nodeType: 3,
13
-
14
- ___actualize: function (host) {
15
- return (host.ownerDocument || host).createTextNode(this.___nodeValue);
16
- },
17
-
18
- ___cloneNode: function () {
19
- return new VText(this.___nodeValue);
20
- },
21
- };
22
-
23
- inherit(VText, VNode);
24
-
25
- module.exports = VText;
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- // eslint-disable-next-line no-constant-binary-expression
4
- var complain = "MARKO_DEBUG" && require("complain");
5
- var classHelper = require("../../helpers/class-value");
6
- var styleHelper = require("../../helpers/style-value");
7
- var parseHTML = require("../parse-html");
8
-
9
- /**
10
- * Helper for processing dynamic attributes
11
- */
12
- module.exports = function (attributes) {
13
- if (typeof attributes === "string") {
14
- // eslint-disable-next-line no-constant-condition
15
- if ("MARKO_DEBUG") {
16
- complain(
17
- "Passing a string as a dynamic attribute value is deprecated - More details: https://github.com/marko-js/marko/wiki/Deprecation:-String-as-dynamic-attribute-value",
18
- );
19
- }
20
- return parseAttrs(attributes);
21
- }
22
-
23
- if (attributes) {
24
- var newAttributes = {};
25
-
26
- for (var attrName in attributes) {
27
- var val = attributes[attrName];
28
- if (attrName === "renderBody") {
29
- continue;
30
- }
31
-
32
- if (attrName === "class") {
33
- val = classHelper(val);
34
- } else if (attrName === "style") {
35
- val = styleHelper(val);
36
- }
37
-
38
- newAttributes[attrName] = val;
39
- }
40
-
41
- return newAttributes;
42
- }
43
-
44
- return attributes;
45
- };
46
-
47
- function parseAttrs(str) {
48
- if (str === "") {
49
- return {};
50
- }
51
-
52
- var attrs = parseHTML("<a " + str + ">").attributes;
53
- var result = {};
54
- var attr;
55
-
56
- for (var len = attrs.length, i = 0; i < len; i++) {
57
- attr = attrs[i];
58
- result[attr.name] = attr.value;
59
- }
60
-
61
- return result;
62
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var VElement = require("../vdom").___VElement;
4
- var i = 0;
5
-
6
- module.exports = function (tagName, attrs, childCount) {
7
- return new ConstVElement(tagName, attrs, childCount);
8
- };
9
-
10
- function ConstVElement(tagName, attrs, childCount) {
11
- VElement.call(this, tagName, attrs, null, null, childCount, null, { i: i++ });
12
- }
13
-
14
- ConstVElement.prototype = Object.create(VElement.prototype);
15
- ConstVElement.prototype.e = function (tagName, attrs, childCount) {
16
- var child = this.___appendChild(
17
- new ConstVElement(tagName, attrs, childCount),
18
- );
19
-
20
- if (childCount === 0) {
21
- return this.___finishChild();
22
- } else {
23
- return child;
24
- }
25
- };
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- var attrs = require("./attrs");
4
-
5
- /**
6
- * Merges attribute objects into a object.
7
- */
8
- module.exports = function mergeAttrs() {
9
- var len = arguments.length;
10
- var result = {};
11
- for (var i = 0; i < len; i++) {
12
- Object.assign(result, attrs(arguments[i]));
13
- }
14
-
15
- return result;
16
- };